sach asterisk tieng viet
TRANSCRIPT
Chương 1 TỔNG QUAN VỀ ASTERISK 5
11 GIỚI THIỆU ASTERISK 5
12 KIẾN TRUacuteC ASTERISK 8
13 MỘT SỐ TIacuteNH NĂNG CƠ BẢN 10
131 Voicemail (hộp thư thoại) 10
132 Call Forwarding(chuyển cuộc gọi) 10
133 Caller ID (hiển thị số gọi) 10
134 Automated attendant (chức năng IVR) 11
135 Time and Date 11
136 Call Parking 11
137 Remote call pickupe 11
138 Privacy Manager 12
139 Backlist 12
14 Caacutec ngữ cảnh ứng dụng 12
141 Tổng đagravei voip IP PBX 12
142 Kết nối IP PBX với PBX 14
143 Kết nối giữa caacutec server Asterisk 15
144 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị 16
145 Chức năng Phacircn phối cuộc gọi tự động ACD 17
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
2
Chương 2 Caacutec KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK 18
21 GIỚI THIỆU 18
22 PBX - Private Branch Exchange 18
23 VOIP - Voice Over Internet Protocol 19
24 PSTN ndash Public Switched Telephone Network 20
25 TDM ndash Time Division Multiplexing 20
26 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM 21
261 FXO vagrave FXS 21
262 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei 22
263 Baacuteo hiệu giữa caacutec tổng đagravei 23
27 Baacuteo Hiệu trecircn mạng điện thoại VoIP 23
271 SIP Session Initiation Prorocol 23
272 Proxy server 23
273 RTP vaacute NAT 24
274 IAX ndash Inter Asterisk eXchange 25
28 Thiết Bị VoIP 26
281 Voip Phone 26
282 Softphone 26
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
3
283 Card giao tiếp với PSTN 27
284 ATA Analog Telephone Adaptors 27
29 Codecs 28
210 QoS ndash Quality of Service 28
2101 Độ trễ 29
2102 Độ trượt(Jitter) 29
Chương 3 CAgraveI ĐẶT ASTERISK 31
31 Cagravei đặt Asterisk 31
311 Download vagrave bung neacuten 31
312 Cagravei đặt goacutei Zaptel 32
313 Cagravei đặt goacutei libpri 33
32 Cagravei đặt goacutei Asterisk 33
33 Cagravei đặt TrixBox 34
331 Giới thiệu 34
332 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX 35
333 Cấu higravenh địa chỉ IP cho card mạng 35
34 Tổ Chức Thư Mục của Asterisk 36
341 etcasterisk 36
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
4
342 usrlibasteriskmodules 36
343 varlibasterisk 37
344 varspoolasterisk 38
345 varrun 39
346 varlogasterisk 39
347 varlogasteriskcdr-csv 40
35 Một số lệnh thao taacutec trecircn hệ thống asterisk 40
Chương 4 CẤU HIgraveNH HỆ THỐNG ASTERISK 42
41 GIỚI THIỆU 42
42 Tập Tin cấu higravenh 42
43 Caacutec kiểu ảnh hưởng trong tập cấu higravenh 43
431 Simple Group 44
432 Option inheritance 44
433 Complex Entity 45
44 Cấu higravenh giao tiếp với mạng PSTN 46
441 Ngữ cảnh kết nối 46
442 Lắp đặt card TDM01B vagrave cấu higravenh 46
45 Cấu higravenh Điện thoại IP SIP phone 47
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
5
451 Phần khai baacuteo Chung 48
452 Khai baacuteo kecircnh SIP 49
46 Giới Thiệu DialPlan 50
461 Extentions 51
462 Priorities ndash Thứ tự thực hiện 52
463 Aplications ndash Caacutec hagravem ứng dụng 53
464 Contexts - Ngữ cảnh 53
47 Ngữ cảnh thực hagravenh ứng dụng 55
471 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau 56
472 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051 57
473 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052 58
48 Tạo diaplan 58
481 Thực hiện một viacute dụ cơ bản 58
482 Caacutec ứng dụng dial() background() vagrave goto() 59
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
6
1 TỔNG QUAN VỀ ASTERISK
1 GIỚI THIỆU ASTERISK
Hacircn hạnh chagraveo mừng đến với thế giới diệu kỳ của Astetisk Asterisk đem đến
cho người sử dụng tất cả caacutec tiacutenh năng vagrave ứng dụng của hệ thống tổng đagravei PBX vagrave
cung cấp nhiều tiacutenh năng magrave tổng đagravei PBX thocircng thường khocircng coacute được đoacute lagrave sự
kết hợp giữa chuyển mạch VOIP vagrave chuyển mạch TDM đoacute lagrave khả năng mở rộng
đaacutep ứng nhu cầu cho từng ứng dụnghellip
Asterisk lagrave hệ thống chuyển mạch mềm lagrave phần mềm nguồn mở được viết
bằng ngocircn ngữ C chạy trecircn hệ điều hagravenh linux thực hiện tất cả caacutec tiacutenh năng của
tổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
7
năm 1977 tecircn lagrave Mark Spencer Anh ta viết phần mềm nagravey ban đầu khocircng ngoagravei
mục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộng
đồng người sử dụng vagrave phaacutet triển Linux
Asterisk lagrave một PBX vagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenh
caacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thường
chạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave một
bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọi
đầy đủ chức năng Asterisk lagrave một nền tảng tiacutech hợp điện thoại vi tiacutenh hoaacute kiến truacutec
mở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircng
nghệ Asterisk đang phục vụ cho nhiều doanh nghiệp
Hiện nay Asterisk trecircn đagrave phaacutet triển nhanh được rất nhiều doanh nghiệp triển
khai ứng dụng cho cocircng ty của migravenh Đacircy lagrave xu thế tất yếu của người sử dụng điện
thoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việc
giữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tốn
chi phiacute khi thực hiện caacutec cuộc gọi trecircn mạng nội bộ của cocircng ty
Khocircng goacutei gọn thocircng tin liecircn lạc trong cocircng ty magrave caacutec ứng dụng giao tiếp với
mạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoại
nagraveo coacute trecircn mạng PSTN
Ngoagravei ra việc tiacutech hợp vagraveo caacutec ứng dụng như CRM vagrave hệ thống Outlook lagravem
cho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết cho
người sử dụng điện thoại
Asterisk thoạt đầu được phaacutet triển trecircn GNULinux nền x86 (Intel) nhưng giờ
đacircy noacute cũng coacute thể biecircn dịch vagrave chạy trecircn OpenBSD FreeBSD vagrave Mac OS X vagrave
Microsoft Windows
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
8
Sơ đồ Tổng quaacutet
Asterisk lagrave hệ thống chuyển mạch tiacutech hợp vừa lagrave cocircng nghệ truyền thống
TDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hệ
thống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thoại
voip ngoagravei ra cograven coacute thể giao tiếp với mạng PSTN vagrave caacutec nhagrave cung cấp voip khaacutec
2 KIẾN TRUacuteC ASTERISK
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
9
Về cơ bản kiến truacutec của Asterisk lagrave sự kết hộp giữa nền tảng cocircng nghệ điện
thoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAX
MGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1
E1 ISDN vagrave caacutec giao tiếp đường truyền thoại Analog Caacutec ứng dụng thoại như
chuyển mạch cuộc gọi tương taacutec thoại caller ID voicemail chuyển cuộc gọihellip
Asterisk coacute một số chức năng chiacutenh đoacuteng vai trograve quan trọng trong hệ thống
chuyển mạch cuộc gọi Khi khởi động hệ thống Asterisk thigrave chức năng Dynamic
Module Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutec
format codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kết
nạp vagraveo hệ thống
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
10
Sau đoacute hệ thống PBX Switching Core của Asterisk chuyển sang trạng thaacutei sẵn
sagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo kế
hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconf
Chức năng Application Launchar để rung chuocircng thuecirc bao quay số định
hướng cuộc gọi kết nối với hộp thư thoạihellip
Scheduler and IO Manager đảm nhiệm caacutec ứng dụng nacircng cao caacutec chức năng
được phaacutet triển bởi cộng đồng phaacutet triển asterisk
Codec Translator xaacutec nhận caacutec kecircnh neacuten dữ liệu ứng với caacutec chuẩn khaacutec nhau
coacute thể kết hợp liecircn lạc được với nhau
Tất cả caacutec cuộc gọi định hướng qua hệ thống Asterisk đều thocircng qua caacutec giao
tiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kết
caacutec giao tiếp khaacutec nhau đoacute để xử lyacute cuộc gọi
Hệ thống cũng bao gồm 4 chức năng API chiacutenh
Codec translator API caacutec hagravem đảm nhiệm thực thi vagrave giải neacuten caacutec chuẩn khaacutec
nhau như G711 GMS G729hellip
Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầu
mối cho việc kết nối caacutec cuộc gọi tương thiacutech với nhiều chuần khaacutec nhau như SIP
IAX H323 Zaptelhellip
Asterisk file format API Asterisk tương thiacutech với việc xử lyacute caacutec loại file coacute
định dạng khaacutec nhau như Mp3 wav gsmhellip
Asterisk Aplication API Bao gồm tất cả caacutec ứng dụng được thực thi trong hệ
thống Asterisk như voicemail callerIDhellip
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
2
Chương 2 Caacutec KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK 18
21 GIỚI THIỆU 18
22 PBX - Private Branch Exchange 18
23 VOIP - Voice Over Internet Protocol 19
24 PSTN ndash Public Switched Telephone Network 20
25 TDM ndash Time Division Multiplexing 20
26 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM 21
261 FXO vagrave FXS 21
262 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei 22
263 Baacuteo hiệu giữa caacutec tổng đagravei 23
27 Baacuteo Hiệu trecircn mạng điện thoại VoIP 23
271 SIP Session Initiation Prorocol 23
272 Proxy server 23
273 RTP vaacute NAT 24
274 IAX ndash Inter Asterisk eXchange 25
28 Thiết Bị VoIP 26
281 Voip Phone 26
282 Softphone 26
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
3
283 Card giao tiếp với PSTN 27
284 ATA Analog Telephone Adaptors 27
29 Codecs 28
210 QoS ndash Quality of Service 28
2101 Độ trễ 29
2102 Độ trượt(Jitter) 29
Chương 3 CAgraveI ĐẶT ASTERISK 31
31 Cagravei đặt Asterisk 31
311 Download vagrave bung neacuten 31
312 Cagravei đặt goacutei Zaptel 32
313 Cagravei đặt goacutei libpri 33
32 Cagravei đặt goacutei Asterisk 33
33 Cagravei đặt TrixBox 34
331 Giới thiệu 34
332 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX 35
333 Cấu higravenh địa chỉ IP cho card mạng 35
34 Tổ Chức Thư Mục của Asterisk 36
341 etcasterisk 36
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
4
342 usrlibasteriskmodules 36
343 varlibasterisk 37
344 varspoolasterisk 38
345 varrun 39
346 varlogasterisk 39
347 varlogasteriskcdr-csv 40
35 Một số lệnh thao taacutec trecircn hệ thống asterisk 40
Chương 4 CẤU HIgraveNH HỆ THỐNG ASTERISK 42
41 GIỚI THIỆU 42
42 Tập Tin cấu higravenh 42
43 Caacutec kiểu ảnh hưởng trong tập cấu higravenh 43
431 Simple Group 44
432 Option inheritance 44
433 Complex Entity 45
44 Cấu higravenh giao tiếp với mạng PSTN 46
441 Ngữ cảnh kết nối 46
442 Lắp đặt card TDM01B vagrave cấu higravenh 46
45 Cấu higravenh Điện thoại IP SIP phone 47
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
5
451 Phần khai baacuteo Chung 48
452 Khai baacuteo kecircnh SIP 49
46 Giới Thiệu DialPlan 50
461 Extentions 51
462 Priorities ndash Thứ tự thực hiện 52
463 Aplications ndash Caacutec hagravem ứng dụng 53
464 Contexts - Ngữ cảnh 53
47 Ngữ cảnh thực hagravenh ứng dụng 55
471 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau 56
472 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051 57
473 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052 58
48 Tạo diaplan 58
481 Thực hiện một viacute dụ cơ bản 58
482 Caacutec ứng dụng dial() background() vagrave goto() 59
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
6
1 TỔNG QUAN VỀ ASTERISK
1 GIỚI THIỆU ASTERISK
Hacircn hạnh chagraveo mừng đến với thế giới diệu kỳ của Astetisk Asterisk đem đến
cho người sử dụng tất cả caacutec tiacutenh năng vagrave ứng dụng của hệ thống tổng đagravei PBX vagrave
cung cấp nhiều tiacutenh năng magrave tổng đagravei PBX thocircng thường khocircng coacute được đoacute lagrave sự
kết hợp giữa chuyển mạch VOIP vagrave chuyển mạch TDM đoacute lagrave khả năng mở rộng
đaacutep ứng nhu cầu cho từng ứng dụnghellip
Asterisk lagrave hệ thống chuyển mạch mềm lagrave phần mềm nguồn mở được viết
bằng ngocircn ngữ C chạy trecircn hệ điều hagravenh linux thực hiện tất cả caacutec tiacutenh năng của
tổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
7
năm 1977 tecircn lagrave Mark Spencer Anh ta viết phần mềm nagravey ban đầu khocircng ngoagravei
mục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộng
đồng người sử dụng vagrave phaacutet triển Linux
Asterisk lagrave một PBX vagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenh
caacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thường
chạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave một
bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọi
đầy đủ chức năng Asterisk lagrave một nền tảng tiacutech hợp điện thoại vi tiacutenh hoaacute kiến truacutec
mở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircng
nghệ Asterisk đang phục vụ cho nhiều doanh nghiệp
Hiện nay Asterisk trecircn đagrave phaacutet triển nhanh được rất nhiều doanh nghiệp triển
khai ứng dụng cho cocircng ty của migravenh Đacircy lagrave xu thế tất yếu của người sử dụng điện
thoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việc
giữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tốn
chi phiacute khi thực hiện caacutec cuộc gọi trecircn mạng nội bộ của cocircng ty
Khocircng goacutei gọn thocircng tin liecircn lạc trong cocircng ty magrave caacutec ứng dụng giao tiếp với
mạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoại
nagraveo coacute trecircn mạng PSTN
Ngoagravei ra việc tiacutech hợp vagraveo caacutec ứng dụng như CRM vagrave hệ thống Outlook lagravem
cho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết cho
người sử dụng điện thoại
Asterisk thoạt đầu được phaacutet triển trecircn GNULinux nền x86 (Intel) nhưng giờ
đacircy noacute cũng coacute thể biecircn dịch vagrave chạy trecircn OpenBSD FreeBSD vagrave Mac OS X vagrave
Microsoft Windows
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
8
Sơ đồ Tổng quaacutet
Asterisk lagrave hệ thống chuyển mạch tiacutech hợp vừa lagrave cocircng nghệ truyền thống
TDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hệ
thống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thoại
voip ngoagravei ra cograven coacute thể giao tiếp với mạng PSTN vagrave caacutec nhagrave cung cấp voip khaacutec
2 KIẾN TRUacuteC ASTERISK
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
9
Về cơ bản kiến truacutec của Asterisk lagrave sự kết hộp giữa nền tảng cocircng nghệ điện
thoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAX
MGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1
E1 ISDN vagrave caacutec giao tiếp đường truyền thoại Analog Caacutec ứng dụng thoại như
chuyển mạch cuộc gọi tương taacutec thoại caller ID voicemail chuyển cuộc gọihellip
Asterisk coacute một số chức năng chiacutenh đoacuteng vai trograve quan trọng trong hệ thống
chuyển mạch cuộc gọi Khi khởi động hệ thống Asterisk thigrave chức năng Dynamic
Module Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutec
format codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kết
nạp vagraveo hệ thống
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
10
Sau đoacute hệ thống PBX Switching Core của Asterisk chuyển sang trạng thaacutei sẵn
sagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo kế
hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconf
Chức năng Application Launchar để rung chuocircng thuecirc bao quay số định
hướng cuộc gọi kết nối với hộp thư thoạihellip
Scheduler and IO Manager đảm nhiệm caacutec ứng dụng nacircng cao caacutec chức năng
được phaacutet triển bởi cộng đồng phaacutet triển asterisk
Codec Translator xaacutec nhận caacutec kecircnh neacuten dữ liệu ứng với caacutec chuẩn khaacutec nhau
coacute thể kết hợp liecircn lạc được với nhau
Tất cả caacutec cuộc gọi định hướng qua hệ thống Asterisk đều thocircng qua caacutec giao
tiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kết
caacutec giao tiếp khaacutec nhau đoacute để xử lyacute cuộc gọi
Hệ thống cũng bao gồm 4 chức năng API chiacutenh
Codec translator API caacutec hagravem đảm nhiệm thực thi vagrave giải neacuten caacutec chuẩn khaacutec
nhau như G711 GMS G729hellip
Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầu
mối cho việc kết nối caacutec cuộc gọi tương thiacutech với nhiều chuần khaacutec nhau như SIP
IAX H323 Zaptelhellip
Asterisk file format API Asterisk tương thiacutech với việc xử lyacute caacutec loại file coacute
định dạng khaacutec nhau như Mp3 wav gsmhellip
Asterisk Aplication API Bao gồm tất cả caacutec ứng dụng được thực thi trong hệ
thống Asterisk như voicemail callerIDhellip
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
3
283 Card giao tiếp với PSTN 27
284 ATA Analog Telephone Adaptors 27
29 Codecs 28
210 QoS ndash Quality of Service 28
2101 Độ trễ 29
2102 Độ trượt(Jitter) 29
Chương 3 CAgraveI ĐẶT ASTERISK 31
31 Cagravei đặt Asterisk 31
311 Download vagrave bung neacuten 31
312 Cagravei đặt goacutei Zaptel 32
313 Cagravei đặt goacutei libpri 33
32 Cagravei đặt goacutei Asterisk 33
33 Cagravei đặt TrixBox 34
331 Giới thiệu 34
332 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX 35
333 Cấu higravenh địa chỉ IP cho card mạng 35
34 Tổ Chức Thư Mục của Asterisk 36
341 etcasterisk 36
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
4
342 usrlibasteriskmodules 36
343 varlibasterisk 37
344 varspoolasterisk 38
345 varrun 39
346 varlogasterisk 39
347 varlogasteriskcdr-csv 40
35 Một số lệnh thao taacutec trecircn hệ thống asterisk 40
Chương 4 CẤU HIgraveNH HỆ THỐNG ASTERISK 42
41 GIỚI THIỆU 42
42 Tập Tin cấu higravenh 42
43 Caacutec kiểu ảnh hưởng trong tập cấu higravenh 43
431 Simple Group 44
432 Option inheritance 44
433 Complex Entity 45
44 Cấu higravenh giao tiếp với mạng PSTN 46
441 Ngữ cảnh kết nối 46
442 Lắp đặt card TDM01B vagrave cấu higravenh 46
45 Cấu higravenh Điện thoại IP SIP phone 47
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
5
451 Phần khai baacuteo Chung 48
452 Khai baacuteo kecircnh SIP 49
46 Giới Thiệu DialPlan 50
461 Extentions 51
462 Priorities ndash Thứ tự thực hiện 52
463 Aplications ndash Caacutec hagravem ứng dụng 53
464 Contexts - Ngữ cảnh 53
47 Ngữ cảnh thực hagravenh ứng dụng 55
471 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau 56
472 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051 57
473 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052 58
48 Tạo diaplan 58
481 Thực hiện một viacute dụ cơ bản 58
482 Caacutec ứng dụng dial() background() vagrave goto() 59
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
6
1 TỔNG QUAN VỀ ASTERISK
1 GIỚI THIỆU ASTERISK
Hacircn hạnh chagraveo mừng đến với thế giới diệu kỳ của Astetisk Asterisk đem đến
cho người sử dụng tất cả caacutec tiacutenh năng vagrave ứng dụng của hệ thống tổng đagravei PBX vagrave
cung cấp nhiều tiacutenh năng magrave tổng đagravei PBX thocircng thường khocircng coacute được đoacute lagrave sự
kết hợp giữa chuyển mạch VOIP vagrave chuyển mạch TDM đoacute lagrave khả năng mở rộng
đaacutep ứng nhu cầu cho từng ứng dụnghellip
Asterisk lagrave hệ thống chuyển mạch mềm lagrave phần mềm nguồn mở được viết
bằng ngocircn ngữ C chạy trecircn hệ điều hagravenh linux thực hiện tất cả caacutec tiacutenh năng của
tổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
7
năm 1977 tecircn lagrave Mark Spencer Anh ta viết phần mềm nagravey ban đầu khocircng ngoagravei
mục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộng
đồng người sử dụng vagrave phaacutet triển Linux
Asterisk lagrave một PBX vagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenh
caacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thường
chạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave một
bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọi
đầy đủ chức năng Asterisk lagrave một nền tảng tiacutech hợp điện thoại vi tiacutenh hoaacute kiến truacutec
mở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircng
nghệ Asterisk đang phục vụ cho nhiều doanh nghiệp
Hiện nay Asterisk trecircn đagrave phaacutet triển nhanh được rất nhiều doanh nghiệp triển
khai ứng dụng cho cocircng ty của migravenh Đacircy lagrave xu thế tất yếu của người sử dụng điện
thoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việc
giữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tốn
chi phiacute khi thực hiện caacutec cuộc gọi trecircn mạng nội bộ của cocircng ty
Khocircng goacutei gọn thocircng tin liecircn lạc trong cocircng ty magrave caacutec ứng dụng giao tiếp với
mạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoại
nagraveo coacute trecircn mạng PSTN
Ngoagravei ra việc tiacutech hợp vagraveo caacutec ứng dụng như CRM vagrave hệ thống Outlook lagravem
cho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết cho
người sử dụng điện thoại
Asterisk thoạt đầu được phaacutet triển trecircn GNULinux nền x86 (Intel) nhưng giờ
đacircy noacute cũng coacute thể biecircn dịch vagrave chạy trecircn OpenBSD FreeBSD vagrave Mac OS X vagrave
Microsoft Windows
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
8
Sơ đồ Tổng quaacutet
Asterisk lagrave hệ thống chuyển mạch tiacutech hợp vừa lagrave cocircng nghệ truyền thống
TDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hệ
thống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thoại
voip ngoagravei ra cograven coacute thể giao tiếp với mạng PSTN vagrave caacutec nhagrave cung cấp voip khaacutec
2 KIẾN TRUacuteC ASTERISK
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
9
Về cơ bản kiến truacutec của Asterisk lagrave sự kết hộp giữa nền tảng cocircng nghệ điện
thoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAX
MGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1
E1 ISDN vagrave caacutec giao tiếp đường truyền thoại Analog Caacutec ứng dụng thoại như
chuyển mạch cuộc gọi tương taacutec thoại caller ID voicemail chuyển cuộc gọihellip
Asterisk coacute một số chức năng chiacutenh đoacuteng vai trograve quan trọng trong hệ thống
chuyển mạch cuộc gọi Khi khởi động hệ thống Asterisk thigrave chức năng Dynamic
Module Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutec
format codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kết
nạp vagraveo hệ thống
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
10
Sau đoacute hệ thống PBX Switching Core của Asterisk chuyển sang trạng thaacutei sẵn
sagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo kế
hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconf
Chức năng Application Launchar để rung chuocircng thuecirc bao quay số định
hướng cuộc gọi kết nối với hộp thư thoạihellip
Scheduler and IO Manager đảm nhiệm caacutec ứng dụng nacircng cao caacutec chức năng
được phaacutet triển bởi cộng đồng phaacutet triển asterisk
Codec Translator xaacutec nhận caacutec kecircnh neacuten dữ liệu ứng với caacutec chuẩn khaacutec nhau
coacute thể kết hợp liecircn lạc được với nhau
Tất cả caacutec cuộc gọi định hướng qua hệ thống Asterisk đều thocircng qua caacutec giao
tiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kết
caacutec giao tiếp khaacutec nhau đoacute để xử lyacute cuộc gọi
Hệ thống cũng bao gồm 4 chức năng API chiacutenh
Codec translator API caacutec hagravem đảm nhiệm thực thi vagrave giải neacuten caacutec chuẩn khaacutec
nhau như G711 GMS G729hellip
Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầu
mối cho việc kết nối caacutec cuộc gọi tương thiacutech với nhiều chuần khaacutec nhau như SIP
IAX H323 Zaptelhellip
Asterisk file format API Asterisk tương thiacutech với việc xử lyacute caacutec loại file coacute
định dạng khaacutec nhau như Mp3 wav gsmhellip
Asterisk Aplication API Bao gồm tất cả caacutec ứng dụng được thực thi trong hệ
thống Asterisk như voicemail callerIDhellip
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
4
342 usrlibasteriskmodules 36
343 varlibasterisk 37
344 varspoolasterisk 38
345 varrun 39
346 varlogasterisk 39
347 varlogasteriskcdr-csv 40
35 Một số lệnh thao taacutec trecircn hệ thống asterisk 40
Chương 4 CẤU HIgraveNH HỆ THỐNG ASTERISK 42
41 GIỚI THIỆU 42
42 Tập Tin cấu higravenh 42
43 Caacutec kiểu ảnh hưởng trong tập cấu higravenh 43
431 Simple Group 44
432 Option inheritance 44
433 Complex Entity 45
44 Cấu higravenh giao tiếp với mạng PSTN 46
441 Ngữ cảnh kết nối 46
442 Lắp đặt card TDM01B vagrave cấu higravenh 46
45 Cấu higravenh Điện thoại IP SIP phone 47
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
5
451 Phần khai baacuteo Chung 48
452 Khai baacuteo kecircnh SIP 49
46 Giới Thiệu DialPlan 50
461 Extentions 51
462 Priorities ndash Thứ tự thực hiện 52
463 Aplications ndash Caacutec hagravem ứng dụng 53
464 Contexts - Ngữ cảnh 53
47 Ngữ cảnh thực hagravenh ứng dụng 55
471 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau 56
472 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051 57
473 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052 58
48 Tạo diaplan 58
481 Thực hiện một viacute dụ cơ bản 58
482 Caacutec ứng dụng dial() background() vagrave goto() 59
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
6
1 TỔNG QUAN VỀ ASTERISK
1 GIỚI THIỆU ASTERISK
Hacircn hạnh chagraveo mừng đến với thế giới diệu kỳ của Astetisk Asterisk đem đến
cho người sử dụng tất cả caacutec tiacutenh năng vagrave ứng dụng của hệ thống tổng đagravei PBX vagrave
cung cấp nhiều tiacutenh năng magrave tổng đagravei PBX thocircng thường khocircng coacute được đoacute lagrave sự
kết hợp giữa chuyển mạch VOIP vagrave chuyển mạch TDM đoacute lagrave khả năng mở rộng
đaacutep ứng nhu cầu cho từng ứng dụnghellip
Asterisk lagrave hệ thống chuyển mạch mềm lagrave phần mềm nguồn mở được viết
bằng ngocircn ngữ C chạy trecircn hệ điều hagravenh linux thực hiện tất cả caacutec tiacutenh năng của
tổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
7
năm 1977 tecircn lagrave Mark Spencer Anh ta viết phần mềm nagravey ban đầu khocircng ngoagravei
mục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộng
đồng người sử dụng vagrave phaacutet triển Linux
Asterisk lagrave một PBX vagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenh
caacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thường
chạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave một
bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọi
đầy đủ chức năng Asterisk lagrave một nền tảng tiacutech hợp điện thoại vi tiacutenh hoaacute kiến truacutec
mở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircng
nghệ Asterisk đang phục vụ cho nhiều doanh nghiệp
Hiện nay Asterisk trecircn đagrave phaacutet triển nhanh được rất nhiều doanh nghiệp triển
khai ứng dụng cho cocircng ty của migravenh Đacircy lagrave xu thế tất yếu của người sử dụng điện
thoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việc
giữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tốn
chi phiacute khi thực hiện caacutec cuộc gọi trecircn mạng nội bộ của cocircng ty
Khocircng goacutei gọn thocircng tin liecircn lạc trong cocircng ty magrave caacutec ứng dụng giao tiếp với
mạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoại
nagraveo coacute trecircn mạng PSTN
Ngoagravei ra việc tiacutech hợp vagraveo caacutec ứng dụng như CRM vagrave hệ thống Outlook lagravem
cho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết cho
người sử dụng điện thoại
Asterisk thoạt đầu được phaacutet triển trecircn GNULinux nền x86 (Intel) nhưng giờ
đacircy noacute cũng coacute thể biecircn dịch vagrave chạy trecircn OpenBSD FreeBSD vagrave Mac OS X vagrave
Microsoft Windows
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
8
Sơ đồ Tổng quaacutet
Asterisk lagrave hệ thống chuyển mạch tiacutech hợp vừa lagrave cocircng nghệ truyền thống
TDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hệ
thống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thoại
voip ngoagravei ra cograven coacute thể giao tiếp với mạng PSTN vagrave caacutec nhagrave cung cấp voip khaacutec
2 KIẾN TRUacuteC ASTERISK
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
9
Về cơ bản kiến truacutec của Asterisk lagrave sự kết hộp giữa nền tảng cocircng nghệ điện
thoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAX
MGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1
E1 ISDN vagrave caacutec giao tiếp đường truyền thoại Analog Caacutec ứng dụng thoại như
chuyển mạch cuộc gọi tương taacutec thoại caller ID voicemail chuyển cuộc gọihellip
Asterisk coacute một số chức năng chiacutenh đoacuteng vai trograve quan trọng trong hệ thống
chuyển mạch cuộc gọi Khi khởi động hệ thống Asterisk thigrave chức năng Dynamic
Module Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutec
format codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kết
nạp vagraveo hệ thống
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
10
Sau đoacute hệ thống PBX Switching Core của Asterisk chuyển sang trạng thaacutei sẵn
sagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo kế
hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconf
Chức năng Application Launchar để rung chuocircng thuecirc bao quay số định
hướng cuộc gọi kết nối với hộp thư thoạihellip
Scheduler and IO Manager đảm nhiệm caacutec ứng dụng nacircng cao caacutec chức năng
được phaacutet triển bởi cộng đồng phaacutet triển asterisk
Codec Translator xaacutec nhận caacutec kecircnh neacuten dữ liệu ứng với caacutec chuẩn khaacutec nhau
coacute thể kết hợp liecircn lạc được với nhau
Tất cả caacutec cuộc gọi định hướng qua hệ thống Asterisk đều thocircng qua caacutec giao
tiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kết
caacutec giao tiếp khaacutec nhau đoacute để xử lyacute cuộc gọi
Hệ thống cũng bao gồm 4 chức năng API chiacutenh
Codec translator API caacutec hagravem đảm nhiệm thực thi vagrave giải neacuten caacutec chuẩn khaacutec
nhau như G711 GMS G729hellip
Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầu
mối cho việc kết nối caacutec cuộc gọi tương thiacutech với nhiều chuần khaacutec nhau như SIP
IAX H323 Zaptelhellip
Asterisk file format API Asterisk tương thiacutech với việc xử lyacute caacutec loại file coacute
định dạng khaacutec nhau như Mp3 wav gsmhellip
Asterisk Aplication API Bao gồm tất cả caacutec ứng dụng được thực thi trong hệ
thống Asterisk như voicemail callerIDhellip
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
5
451 Phần khai baacuteo Chung 48
452 Khai baacuteo kecircnh SIP 49
46 Giới Thiệu DialPlan 50
461 Extentions 51
462 Priorities ndash Thứ tự thực hiện 52
463 Aplications ndash Caacutec hagravem ứng dụng 53
464 Contexts - Ngữ cảnh 53
47 Ngữ cảnh thực hagravenh ứng dụng 55
471 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau 56
472 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051 57
473 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052 58
48 Tạo diaplan 58
481 Thực hiện một viacute dụ cơ bản 58
482 Caacutec ứng dụng dial() background() vagrave goto() 59
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
6
1 TỔNG QUAN VỀ ASTERISK
1 GIỚI THIỆU ASTERISK
Hacircn hạnh chagraveo mừng đến với thế giới diệu kỳ của Astetisk Asterisk đem đến
cho người sử dụng tất cả caacutec tiacutenh năng vagrave ứng dụng của hệ thống tổng đagravei PBX vagrave
cung cấp nhiều tiacutenh năng magrave tổng đagravei PBX thocircng thường khocircng coacute được đoacute lagrave sự
kết hợp giữa chuyển mạch VOIP vagrave chuyển mạch TDM đoacute lagrave khả năng mở rộng
đaacutep ứng nhu cầu cho từng ứng dụnghellip
Asterisk lagrave hệ thống chuyển mạch mềm lagrave phần mềm nguồn mở được viết
bằng ngocircn ngữ C chạy trecircn hệ điều hagravenh linux thực hiện tất cả caacutec tiacutenh năng của
tổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
7
năm 1977 tecircn lagrave Mark Spencer Anh ta viết phần mềm nagravey ban đầu khocircng ngoagravei
mục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộng
đồng người sử dụng vagrave phaacutet triển Linux
Asterisk lagrave một PBX vagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenh
caacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thường
chạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave một
bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọi
đầy đủ chức năng Asterisk lagrave một nền tảng tiacutech hợp điện thoại vi tiacutenh hoaacute kiến truacutec
mở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircng
nghệ Asterisk đang phục vụ cho nhiều doanh nghiệp
Hiện nay Asterisk trecircn đagrave phaacutet triển nhanh được rất nhiều doanh nghiệp triển
khai ứng dụng cho cocircng ty của migravenh Đacircy lagrave xu thế tất yếu của người sử dụng điện
thoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việc
giữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tốn
chi phiacute khi thực hiện caacutec cuộc gọi trecircn mạng nội bộ của cocircng ty
Khocircng goacutei gọn thocircng tin liecircn lạc trong cocircng ty magrave caacutec ứng dụng giao tiếp với
mạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoại
nagraveo coacute trecircn mạng PSTN
Ngoagravei ra việc tiacutech hợp vagraveo caacutec ứng dụng như CRM vagrave hệ thống Outlook lagravem
cho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết cho
người sử dụng điện thoại
Asterisk thoạt đầu được phaacutet triển trecircn GNULinux nền x86 (Intel) nhưng giờ
đacircy noacute cũng coacute thể biecircn dịch vagrave chạy trecircn OpenBSD FreeBSD vagrave Mac OS X vagrave
Microsoft Windows
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
8
Sơ đồ Tổng quaacutet
Asterisk lagrave hệ thống chuyển mạch tiacutech hợp vừa lagrave cocircng nghệ truyền thống
TDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hệ
thống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thoại
voip ngoagravei ra cograven coacute thể giao tiếp với mạng PSTN vagrave caacutec nhagrave cung cấp voip khaacutec
2 KIẾN TRUacuteC ASTERISK
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
9
Về cơ bản kiến truacutec của Asterisk lagrave sự kết hộp giữa nền tảng cocircng nghệ điện
thoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAX
MGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1
E1 ISDN vagrave caacutec giao tiếp đường truyền thoại Analog Caacutec ứng dụng thoại như
chuyển mạch cuộc gọi tương taacutec thoại caller ID voicemail chuyển cuộc gọihellip
Asterisk coacute một số chức năng chiacutenh đoacuteng vai trograve quan trọng trong hệ thống
chuyển mạch cuộc gọi Khi khởi động hệ thống Asterisk thigrave chức năng Dynamic
Module Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutec
format codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kết
nạp vagraveo hệ thống
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
10
Sau đoacute hệ thống PBX Switching Core của Asterisk chuyển sang trạng thaacutei sẵn
sagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo kế
hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconf
Chức năng Application Launchar để rung chuocircng thuecirc bao quay số định
hướng cuộc gọi kết nối với hộp thư thoạihellip
Scheduler and IO Manager đảm nhiệm caacutec ứng dụng nacircng cao caacutec chức năng
được phaacutet triển bởi cộng đồng phaacutet triển asterisk
Codec Translator xaacutec nhận caacutec kecircnh neacuten dữ liệu ứng với caacutec chuẩn khaacutec nhau
coacute thể kết hợp liecircn lạc được với nhau
Tất cả caacutec cuộc gọi định hướng qua hệ thống Asterisk đều thocircng qua caacutec giao
tiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kết
caacutec giao tiếp khaacutec nhau đoacute để xử lyacute cuộc gọi
Hệ thống cũng bao gồm 4 chức năng API chiacutenh
Codec translator API caacutec hagravem đảm nhiệm thực thi vagrave giải neacuten caacutec chuẩn khaacutec
nhau như G711 GMS G729hellip
Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầu
mối cho việc kết nối caacutec cuộc gọi tương thiacutech với nhiều chuần khaacutec nhau như SIP
IAX H323 Zaptelhellip
Asterisk file format API Asterisk tương thiacutech với việc xử lyacute caacutec loại file coacute
định dạng khaacutec nhau như Mp3 wav gsmhellip
Asterisk Aplication API Bao gồm tất cả caacutec ứng dụng được thực thi trong hệ
thống Asterisk như voicemail callerIDhellip
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
6
1 TỔNG QUAN VỀ ASTERISK
1 GIỚI THIỆU ASTERISK
Hacircn hạnh chagraveo mừng đến với thế giới diệu kỳ của Astetisk Asterisk đem đến
cho người sử dụng tất cả caacutec tiacutenh năng vagrave ứng dụng của hệ thống tổng đagravei PBX vagrave
cung cấp nhiều tiacutenh năng magrave tổng đagravei PBX thocircng thường khocircng coacute được đoacute lagrave sự
kết hợp giữa chuyển mạch VOIP vagrave chuyển mạch TDM đoacute lagrave khả năng mở rộng
đaacutep ứng nhu cầu cho từng ứng dụnghellip
Asterisk lagrave hệ thống chuyển mạch mềm lagrave phần mềm nguồn mở được viết
bằng ngocircn ngữ C chạy trecircn hệ điều hagravenh linux thực hiện tất cả caacutec tiacutenh năng của
tổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
7
năm 1977 tecircn lagrave Mark Spencer Anh ta viết phần mềm nagravey ban đầu khocircng ngoagravei
mục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộng
đồng người sử dụng vagrave phaacutet triển Linux
Asterisk lagrave một PBX vagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenh
caacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thường
chạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave một
bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọi
đầy đủ chức năng Asterisk lagrave một nền tảng tiacutech hợp điện thoại vi tiacutenh hoaacute kiến truacutec
mở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircng
nghệ Asterisk đang phục vụ cho nhiều doanh nghiệp
Hiện nay Asterisk trecircn đagrave phaacutet triển nhanh được rất nhiều doanh nghiệp triển
khai ứng dụng cho cocircng ty của migravenh Đacircy lagrave xu thế tất yếu của người sử dụng điện
thoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việc
giữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tốn
chi phiacute khi thực hiện caacutec cuộc gọi trecircn mạng nội bộ của cocircng ty
Khocircng goacutei gọn thocircng tin liecircn lạc trong cocircng ty magrave caacutec ứng dụng giao tiếp với
mạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoại
nagraveo coacute trecircn mạng PSTN
Ngoagravei ra việc tiacutech hợp vagraveo caacutec ứng dụng như CRM vagrave hệ thống Outlook lagravem
cho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết cho
người sử dụng điện thoại
Asterisk thoạt đầu được phaacutet triển trecircn GNULinux nền x86 (Intel) nhưng giờ
đacircy noacute cũng coacute thể biecircn dịch vagrave chạy trecircn OpenBSD FreeBSD vagrave Mac OS X vagrave
Microsoft Windows
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
8
Sơ đồ Tổng quaacutet
Asterisk lagrave hệ thống chuyển mạch tiacutech hợp vừa lagrave cocircng nghệ truyền thống
TDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hệ
thống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thoại
voip ngoagravei ra cograven coacute thể giao tiếp với mạng PSTN vagrave caacutec nhagrave cung cấp voip khaacutec
2 KIẾN TRUacuteC ASTERISK
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
9
Về cơ bản kiến truacutec của Asterisk lagrave sự kết hộp giữa nền tảng cocircng nghệ điện
thoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAX
MGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1
E1 ISDN vagrave caacutec giao tiếp đường truyền thoại Analog Caacutec ứng dụng thoại như
chuyển mạch cuộc gọi tương taacutec thoại caller ID voicemail chuyển cuộc gọihellip
Asterisk coacute một số chức năng chiacutenh đoacuteng vai trograve quan trọng trong hệ thống
chuyển mạch cuộc gọi Khi khởi động hệ thống Asterisk thigrave chức năng Dynamic
Module Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutec
format codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kết
nạp vagraveo hệ thống
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
10
Sau đoacute hệ thống PBX Switching Core của Asterisk chuyển sang trạng thaacutei sẵn
sagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo kế
hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconf
Chức năng Application Launchar để rung chuocircng thuecirc bao quay số định
hướng cuộc gọi kết nối với hộp thư thoạihellip
Scheduler and IO Manager đảm nhiệm caacutec ứng dụng nacircng cao caacutec chức năng
được phaacutet triển bởi cộng đồng phaacutet triển asterisk
Codec Translator xaacutec nhận caacutec kecircnh neacuten dữ liệu ứng với caacutec chuẩn khaacutec nhau
coacute thể kết hợp liecircn lạc được với nhau
Tất cả caacutec cuộc gọi định hướng qua hệ thống Asterisk đều thocircng qua caacutec giao
tiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kết
caacutec giao tiếp khaacutec nhau đoacute để xử lyacute cuộc gọi
Hệ thống cũng bao gồm 4 chức năng API chiacutenh
Codec translator API caacutec hagravem đảm nhiệm thực thi vagrave giải neacuten caacutec chuẩn khaacutec
nhau như G711 GMS G729hellip
Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầu
mối cho việc kết nối caacutec cuộc gọi tương thiacutech với nhiều chuần khaacutec nhau như SIP
IAX H323 Zaptelhellip
Asterisk file format API Asterisk tương thiacutech với việc xử lyacute caacutec loại file coacute
định dạng khaacutec nhau như Mp3 wav gsmhellip
Asterisk Aplication API Bao gồm tất cả caacutec ứng dụng được thực thi trong hệ
thống Asterisk như voicemail callerIDhellip
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
7
năm 1977 tecircn lagrave Mark Spencer Anh ta viết phần mềm nagravey ban đầu khocircng ngoagravei
mục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộng
đồng người sử dụng vagrave phaacutet triển Linux
Asterisk lagrave một PBX vagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenh
caacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thường
chạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave một
bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọi
đầy đủ chức năng Asterisk lagrave một nền tảng tiacutech hợp điện thoại vi tiacutenh hoaacute kiến truacutec
mở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircng
nghệ Asterisk đang phục vụ cho nhiều doanh nghiệp
Hiện nay Asterisk trecircn đagrave phaacutet triển nhanh được rất nhiều doanh nghiệp triển
khai ứng dụng cho cocircng ty của migravenh Đacircy lagrave xu thế tất yếu của người sử dụng điện
thoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việc
giữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tốn
chi phiacute khi thực hiện caacutec cuộc gọi trecircn mạng nội bộ của cocircng ty
Khocircng goacutei gọn thocircng tin liecircn lạc trong cocircng ty magrave caacutec ứng dụng giao tiếp với
mạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoại
nagraveo coacute trecircn mạng PSTN
Ngoagravei ra việc tiacutech hợp vagraveo caacutec ứng dụng như CRM vagrave hệ thống Outlook lagravem
cho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết cho
người sử dụng điện thoại
Asterisk thoạt đầu được phaacutet triển trecircn GNULinux nền x86 (Intel) nhưng giờ
đacircy noacute cũng coacute thể biecircn dịch vagrave chạy trecircn OpenBSD FreeBSD vagrave Mac OS X vagrave
Microsoft Windows
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
8
Sơ đồ Tổng quaacutet
Asterisk lagrave hệ thống chuyển mạch tiacutech hợp vừa lagrave cocircng nghệ truyền thống
TDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hệ
thống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thoại
voip ngoagravei ra cograven coacute thể giao tiếp với mạng PSTN vagrave caacutec nhagrave cung cấp voip khaacutec
2 KIẾN TRUacuteC ASTERISK
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
9
Về cơ bản kiến truacutec của Asterisk lagrave sự kết hộp giữa nền tảng cocircng nghệ điện
thoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAX
MGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1
E1 ISDN vagrave caacutec giao tiếp đường truyền thoại Analog Caacutec ứng dụng thoại như
chuyển mạch cuộc gọi tương taacutec thoại caller ID voicemail chuyển cuộc gọihellip
Asterisk coacute một số chức năng chiacutenh đoacuteng vai trograve quan trọng trong hệ thống
chuyển mạch cuộc gọi Khi khởi động hệ thống Asterisk thigrave chức năng Dynamic
Module Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutec
format codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kết
nạp vagraveo hệ thống
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
10
Sau đoacute hệ thống PBX Switching Core của Asterisk chuyển sang trạng thaacutei sẵn
sagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo kế
hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconf
Chức năng Application Launchar để rung chuocircng thuecirc bao quay số định
hướng cuộc gọi kết nối với hộp thư thoạihellip
Scheduler and IO Manager đảm nhiệm caacutec ứng dụng nacircng cao caacutec chức năng
được phaacutet triển bởi cộng đồng phaacutet triển asterisk
Codec Translator xaacutec nhận caacutec kecircnh neacuten dữ liệu ứng với caacutec chuẩn khaacutec nhau
coacute thể kết hợp liecircn lạc được với nhau
Tất cả caacutec cuộc gọi định hướng qua hệ thống Asterisk đều thocircng qua caacutec giao
tiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kết
caacutec giao tiếp khaacutec nhau đoacute để xử lyacute cuộc gọi
Hệ thống cũng bao gồm 4 chức năng API chiacutenh
Codec translator API caacutec hagravem đảm nhiệm thực thi vagrave giải neacuten caacutec chuẩn khaacutec
nhau như G711 GMS G729hellip
Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầu
mối cho việc kết nối caacutec cuộc gọi tương thiacutech với nhiều chuần khaacutec nhau như SIP
IAX H323 Zaptelhellip
Asterisk file format API Asterisk tương thiacutech với việc xử lyacute caacutec loại file coacute
định dạng khaacutec nhau như Mp3 wav gsmhellip
Asterisk Aplication API Bao gồm tất cả caacutec ứng dụng được thực thi trong hệ
thống Asterisk như voicemail callerIDhellip
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
8
Sơ đồ Tổng quaacutet
Asterisk lagrave hệ thống chuyển mạch tiacutech hợp vừa lagrave cocircng nghệ truyền thống
TDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hệ
thống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thoại
voip ngoagravei ra cograven coacute thể giao tiếp với mạng PSTN vagrave caacutec nhagrave cung cấp voip khaacutec
2 KIẾN TRUacuteC ASTERISK
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
9
Về cơ bản kiến truacutec của Asterisk lagrave sự kết hộp giữa nền tảng cocircng nghệ điện
thoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAX
MGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1
E1 ISDN vagrave caacutec giao tiếp đường truyền thoại Analog Caacutec ứng dụng thoại như
chuyển mạch cuộc gọi tương taacutec thoại caller ID voicemail chuyển cuộc gọihellip
Asterisk coacute một số chức năng chiacutenh đoacuteng vai trograve quan trọng trong hệ thống
chuyển mạch cuộc gọi Khi khởi động hệ thống Asterisk thigrave chức năng Dynamic
Module Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutec
format codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kết
nạp vagraveo hệ thống
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
10
Sau đoacute hệ thống PBX Switching Core của Asterisk chuyển sang trạng thaacutei sẵn
sagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo kế
hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconf
Chức năng Application Launchar để rung chuocircng thuecirc bao quay số định
hướng cuộc gọi kết nối với hộp thư thoạihellip
Scheduler and IO Manager đảm nhiệm caacutec ứng dụng nacircng cao caacutec chức năng
được phaacutet triển bởi cộng đồng phaacutet triển asterisk
Codec Translator xaacutec nhận caacutec kecircnh neacuten dữ liệu ứng với caacutec chuẩn khaacutec nhau
coacute thể kết hợp liecircn lạc được với nhau
Tất cả caacutec cuộc gọi định hướng qua hệ thống Asterisk đều thocircng qua caacutec giao
tiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kết
caacutec giao tiếp khaacutec nhau đoacute để xử lyacute cuộc gọi
Hệ thống cũng bao gồm 4 chức năng API chiacutenh
Codec translator API caacutec hagravem đảm nhiệm thực thi vagrave giải neacuten caacutec chuẩn khaacutec
nhau như G711 GMS G729hellip
Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầu
mối cho việc kết nối caacutec cuộc gọi tương thiacutech với nhiều chuần khaacutec nhau như SIP
IAX H323 Zaptelhellip
Asterisk file format API Asterisk tương thiacutech với việc xử lyacute caacutec loại file coacute
định dạng khaacutec nhau như Mp3 wav gsmhellip
Asterisk Aplication API Bao gồm tất cả caacutec ứng dụng được thực thi trong hệ
thống Asterisk như voicemail callerIDhellip
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
9
Về cơ bản kiến truacutec của Asterisk lagrave sự kết hộp giữa nền tảng cocircng nghệ điện
thoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAX
MGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1
E1 ISDN vagrave caacutec giao tiếp đường truyền thoại Analog Caacutec ứng dụng thoại như
chuyển mạch cuộc gọi tương taacutec thoại caller ID voicemail chuyển cuộc gọihellip
Asterisk coacute một số chức năng chiacutenh đoacuteng vai trograve quan trọng trong hệ thống
chuyển mạch cuộc gọi Khi khởi động hệ thống Asterisk thigrave chức năng Dynamic
Module Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutec
format codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kết
nạp vagraveo hệ thống
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
10
Sau đoacute hệ thống PBX Switching Core của Asterisk chuyển sang trạng thaacutei sẵn
sagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo kế
hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconf
Chức năng Application Launchar để rung chuocircng thuecirc bao quay số định
hướng cuộc gọi kết nối với hộp thư thoạihellip
Scheduler and IO Manager đảm nhiệm caacutec ứng dụng nacircng cao caacutec chức năng
được phaacutet triển bởi cộng đồng phaacutet triển asterisk
Codec Translator xaacutec nhận caacutec kecircnh neacuten dữ liệu ứng với caacutec chuẩn khaacutec nhau
coacute thể kết hợp liecircn lạc được với nhau
Tất cả caacutec cuộc gọi định hướng qua hệ thống Asterisk đều thocircng qua caacutec giao
tiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kết
caacutec giao tiếp khaacutec nhau đoacute để xử lyacute cuộc gọi
Hệ thống cũng bao gồm 4 chức năng API chiacutenh
Codec translator API caacutec hagravem đảm nhiệm thực thi vagrave giải neacuten caacutec chuẩn khaacutec
nhau như G711 GMS G729hellip
Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầu
mối cho việc kết nối caacutec cuộc gọi tương thiacutech với nhiều chuần khaacutec nhau như SIP
IAX H323 Zaptelhellip
Asterisk file format API Asterisk tương thiacutech với việc xử lyacute caacutec loại file coacute
định dạng khaacutec nhau như Mp3 wav gsmhellip
Asterisk Aplication API Bao gồm tất cả caacutec ứng dụng được thực thi trong hệ
thống Asterisk như voicemail callerIDhellip
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
10
Sau đoacute hệ thống PBX Switching Core của Asterisk chuyển sang trạng thaacutei sẵn
sagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo kế
hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconf
Chức năng Application Launchar để rung chuocircng thuecirc bao quay số định
hướng cuộc gọi kết nối với hộp thư thoạihellip
Scheduler and IO Manager đảm nhiệm caacutec ứng dụng nacircng cao caacutec chức năng
được phaacutet triển bởi cộng đồng phaacutet triển asterisk
Codec Translator xaacutec nhận caacutec kecircnh neacuten dữ liệu ứng với caacutec chuẩn khaacutec nhau
coacute thể kết hợp liecircn lạc được với nhau
Tất cả caacutec cuộc gọi định hướng qua hệ thống Asterisk đều thocircng qua caacutec giao
tiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kết
caacutec giao tiếp khaacutec nhau đoacute để xử lyacute cuộc gọi
Hệ thống cũng bao gồm 4 chức năng API chiacutenh
Codec translator API caacutec hagravem đảm nhiệm thực thi vagrave giải neacuten caacutec chuẩn khaacutec
nhau như G711 GMS G729hellip
Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầu
mối cho việc kết nối caacutec cuộc gọi tương thiacutech với nhiều chuần khaacutec nhau như SIP
IAX H323 Zaptelhellip
Asterisk file format API Asterisk tương thiacutech với việc xử lyacute caacutec loại file coacute
định dạng khaacutec nhau như Mp3 wav gsmhellip
Asterisk Aplication API Bao gồm tất cả caacutec ứng dụng được thực thi trong hệ
thống Asterisk như voicemail callerIDhellip
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
11
Ngoagravei ra Asterisk cograven coacute thư viện Asterisk Gateway Interface (AGI tương tự
như CGI) - cơ chế kiacutech hoạt ứng dụng becircn ngoagravei cho pheacutep viết kịch bản phức tạp
với một số ngocircn ngữ như PHP hay Perl Noacutei chung khả năng viết caacutec ứng dụng tugravey
biến rất lớn
3 MỘT SỐ TIacuteNH NĂNG CƠ BẢN
Asterisk coacute rất nhiều tiacutenh năng đatilde được giới thiệu ở trecircn nhưng để hiểu rotilde hết
tất cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagravey
chuacuteng tocirci sẽ giới thiệu một số tiacutenh năng với caacutec ứng dụng cụ thể để hiểu hơn về hệ
thống asterisk
1 Voicemail (hộp thư thoại)
Đacircy lagrave tiacutenh năng cho pheacutep hệ thống nhận caacutec thocircng điệp tin nhắn thoại mỗi
maacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chức
năng hộp thư thoại
Mỗi khi số điện thoại bận hay ngoagravei ldquovugraveng phủ soacutengrdquo thigrave hệ thống asterisk
định hướng trực tiếp caacutec cuộc gọi đến hộp thư thoại tương ứng đatilde khai baacuteo trước
Voicemail cung cấp cho người sử dụng nhiều tiacutenh năng lựa chọn như
password xaacutec nhận khi truy cập vagraveo hộp thư thoại gửi mail baacuteo khi coacute thocircng điệp
mới
2 Call Forwarding(chuyển cuộc gọi)
Khi khocircng ở nhagrave hoặc đi cocircng taacutec magrave người sử dụng khocircng muốn bỏ lỡ tất cả
caacutec cuộc gọi đến thigrave hatildey nghĩ ngay đến tiacutenh năng chuyển cuộc gọi
Đacircy lagrave tiacutenh năng thường được sử dụng trong hệ thống Asterisk Chức năng cho
pheacutep chuyển một cuộc gọi đến một hay nhiều số maacutey điện thoại được định trước
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
12
Một số trường hợp cần chuyển cuộc gọi như Chuyển cuộc gọi khi bận
chuyển cuộc gọi khi khocircng 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
3 Caller ID (hiển thị số gọi)
Chức năng nagravey rất hữu dụng khi một ai đoacute gọi đến vagrave ta muốn biết chiacutenh xaacutec
lagrave gọi từ đacircu vagrave trong một số trường hợp biết chắc họ lagrave ai
Ngoagravei ra Caller ID cograven lagrave chức năng cho pheacutep chuacuteng ta xaacutec nhận số thuecirc bao
gọi đến coacute nghĩa lagrave dựa vagraveo caller ID chuacuteng ta coacute tiếp nhận hay khocircng tiếp nhận
cuộc gọi từ phiacutea hệ thống Asterisk Ngăn một số cuộc gọi ngoagravei yacute muốn
4 Automated attendant (chức năng IVR)
Chức năng tương taacutec thoại coacute rất nhiều ứng dụng trong thực tế khi gọi điện
thoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp như ldquoXin
chagraveo mừng bạn đatilde gọi đến cocircng ty chuacuteng Tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo sau đoacute tuỳ vagraveo sự tương taacutec của thuecirc bao gọi
đến hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Khi muốn xem điểm thi muốn biết tiền cước điện thoại của thuecirc bao muốn
biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những mong
muốn trecircn đều coacute thể thực hiện qua chức năng tương taacutec thoại
5 Time and Date
Vagraveo từ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ể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircn
viecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hay
khocircng cho pheacutep gọi ra becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
13
6 Call Parking
Đacircy lagrave chức năng chuyển cuộc gọi coacute quản lyacute Coacute một số điện thoại trung gian
vagrave hai thuecirc bao coacute thể gặp nhau khi thuecirc bao được gọi nhấn vagraveo số điện thoại magrave
thuecirc bao chủ gọi đang chờ trecircn đoacute vagrave từ đacircy coacute thể gặp nhau vagrave đagravem thoại
7 Remote call pickupe
Đacircy lagrave tiacutenh năng cho pheacutep chuacuteng ta từ maacutey điện thoại nagravey coacute thể nhận cuộc
gọi từ maacutey điện thoại khaacutec đang rung chuocircng
8 Privacy Manager
Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại
của cocircng ty migravenh nhưng lại khocircng muốn nhacircn viecircn trong cocircng ty gọi đi ra ngoagravei trograve
chuyện với bạn begrave khi đoacute Asterisk cung cấp 1 tiacutenh năng tiện dụng lagrave chỉ cho pheacutep
số điện thoại được lập trigravenh được pheacutep gọi đến những số maacutey cố định nagraveo đoacute thocirci
cograven những số khocircng coacute trong danh saacutech định sẵn sẽ khocircng thực hiện cuộc gọi được
9 Backlist
Backlist cũng giống như Privacy Manager nhưng coacute một sự khaacutec biệt lagrave những
maacutey điện thoại nằm trong danh saacutech sẽ khocircng gọi được đến maacutey của migravenh (sử dụng
trong tigravenh trạng hay bị quấy rối điện thoại)
Vagrave cograven rất nhiều tiacutenh năng nữa magrave hệ thống asterisk coacute thể cung cấp cho người
sử dụng trecircn đacircy chỉ lagrave một số tiacutenh năng thường được sử dụng magrave thocirci Để biết
nhiều hơn chi tiết hơn caacutec tiacutenh năng cograven lại xin hatildey tham quan website
wwwasteriskorg
4 Caacutec ngữ cảnh ứng dụng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
14
Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khaacutec nhau tuỳ vagraveo nhu cầu sử
dụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực tế
triển khai hệ thống asterisk
1 Tổng đagravei voip IP PBX
IP BPX
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
15
Đacircy lagrave hệ thống chuyển mạch voip được xacircy dựng phục vụ caacutec cocircng ty coacute nhu
cầu thực hiện trecircn nền tảng mạng nội bộ đatilde triển khai Thay vigrave lắp đặt một hệ thống
PBX cho nhu cầu liecircn lạc nội bộ thigrave necircn lắp đặt hệ thống voip điều nagravey sẽ lagravem giảm
chi phiacute đaacuteng kể Hệ thống coacute thể liecircn lạc với mạng PSTN qua giao tiếp TDM
2 Kết nối IP PBX với PBX
Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đacircy lagrave hiện tại Cocircng ty đatilde trang bị hệ thống PBX bacircy
giờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phiacute
thấp nhất giải phaacutep để thực hiện đoacute lagrave trang bị hệ thống asterisk vagrave kết nối với hệ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
16
thống PBX đang tồn tại qua luồng E1 Ngoagravei ra để tăng khả năng liecircn lạc với mạng
PSTN vagrave VOIP khaacutec Cocircng Ty coacute thể thực hiện kết nối với nhagrave cung cấp dịch vụ
voip
3 Kết nối giữa caacutec server Asterisk
Kết nối giữa caacutec server asterisk
Phương phaacutep trecircn ứng dụng rất hiệu quả cho caacutec cocircng ty nằm ratildei raacutec ở caacutec vị
trị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặt
tại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ Chiacute
Minh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
17
vị triacute khaacutec nhau sẽ lagravem giảm chi phiacute đaacuteng kể Ngữ cảnh nagravey về mặt phaacutep luật khocircng
cho cuộc gọi từ Mỹ vagraveo Việt Nam
4 Caacutec ứng dụng IVR VoiceMail Điện Thoại Hội Nghị
Triển khai server IVR VoiceMail Hội Thoại
Ứng dụng thực hiện caacutec server kết nối với hệ thống PSTN hay tổng đagravei PBX
để triển khai caacutec ứng dụng như tương taacutec thoại IVR Một viacute dụ cho ứng dụng tương
taacutec thoại đoacute lagrave cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ
19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phiacutea thuecirc
bao giống như chức năng hộp thư thoại của Bưu Điện Thagravenh phố triển khai Cograven
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
18
chức năng điện thoại hội nghị thiết lập cho nhiều maacutey điện thoại cugraveng noacutei chuyện
với nhau
5 Chức năng Phacircn phối cuộc gọi tự động ACD
Phacircn phối cuộc gọi với hagraveng đợi
ACD(Automatic Call Distribution) Phacircn phối cuộc gọi tự động
Đacircy lagrave chức năng ứng dụng cho nhu cầu chăm soacutec khaacutech hagraveng hay nhận phản
hổi từ phiacutea khaacutech hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
19
Cocircng ty coacute khả năng tiếp nhận cugraveng một luacutec 10 cuộc gọi như thế cuộc gọi thứ
11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệu
bận nhưng với chức năng phacircn phối cuộc gọi sẽ đưa thuecirc bao đoacute vagraveo hagraveng đợi để
chờ trả lời trong khi chờ trả lời cuộc gọi thuecirc bao coacute thể nghe những bagravei haacutet hay do
asterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rỗi
thigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay
116 của Bưu Điện Thagravenh Phố vậy
2 CAacuteC KHAacuteI NIỆM TRONG HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Trong chương nagravey sẽ giải thiacutech rotilde caacutec khaacutei niệm cơ bản liecircn quan đến hệ thống
asterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiết kế
triển khai xacircy dựng hệ thống điện thoại với Asterisk
2 PBX - Private Branch Exchange
PBX hay cograven gọi lagrave PABX - Private Automatic Branch Exchange lagrave hệ thống
tổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hệ
thống tổng đagravei điện tử tự động nhưng hiện nay đa số lagrave tổng đagravei PBX điện tử tự
động necircn từ trecircn thực sự khocircng cograven cần thiết nữa
PBX với mục tiecircu chia sẻ nhiều thuecirc bao nội bộ gọi ra thế giới becircn ngoagravei
thocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trung
chuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điện
thoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircn
nhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
20
PBX thực hiện chuyển mạch cuộc gọi caacutec maacutey điện thoại nội bộ với nhau vagrave
với caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiện
chuyển mạch caacutec cuộc gọi điện thoại từ becircn ngoagravei vagraveo caacutec maacutey điện thoại nội bộ
Ngoagravei việc chuyển mạch cuộc gọi PBX cung cấp nhiều tiacutenh năng sử dụng
cho nhiều mục điacutech khaacutec nhau của khaacutech hagraveng magrave bản thacircn caacutec đường dacircy điện
thoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng như
tương taacutec thoại(IVR) Voicemail phacircn phối cuộc gọi tự động(ADC)hellip
Hiện nay với việc phaacutet triển mạnh mẽ của cocircng nghệ VoIP chuacuteng ta cograven coacute
thecircm thuật ngữ IP PBX Đacircy lagrave hệ thống chuyển mạch PBX với cocircng nghệ Voip
3 VOIP - Voice Over Internet Protocol
Voice over Internet Protocol (VoIP) lagrave một cocircng nghệ cho pheacutep truyền thoại
sử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave một
trong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đối
với nhagrave khai thaacutec caacutec nhagrave sản xuất magrave cograven cả với người sử dụng dịch vụ
Voip coacute thể vừa thực hiện mọi loại cuộc gọi như trecircn mạng điện thoại kecircnh
truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Do
caacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voip
hiện nay được triển khai một caacutec rộng ratildei
Dịch vụ điện thoại voip lagrave dịch vụ ứng dụng giao thức IP nguyecircn tắc của
VoIP bao gồm việc số hoaacute tiacuten hiệu tiếng noacutei thực hiện việc neacuten tiacuten hiệu số chia nhỏ
caacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey được
raacutep lại theo đuacuteng thứ tự của bản tin giải matilde tiacuten hiệu tương tự phục hồi lại tiếng noacutei
ban đầu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
21
Caacutec cuộc gọi trong VoIP dựa trecircn cơ sở sử dụng kết hợp cả chuyển mạch
kecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điểm
riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyền
giữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trong
chuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircng
đổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyển
mạch kecircnh coacute độ trễ nhỏ
Trong chuyển mạch goacutei caacutec bản tin được chia thagravenh caacutec goacutei nhỏ gọi lagrave caacutec
goacutei nguyecircn tắc hoạt động của noacute lagrave sử dụng hệ thống lưu trữ vagrave chuyển tiếp caacutec goacutei
tin trong nuacutet mạng Đối với chuyển mạch goacutei khocircng tồn tại khaacutei niệm kecircnh riecircng
băng thocircng khocircng cố định coacute nghĩa lagrave coacute thể thay đổi tốc độ truyền kỹ thuật chuyển
mạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời gian
cho mỗi goacutei dữ liệu tới điacutech mỗi goacutei coacute thể đi bằng nhiều con đường khaacutec nhau để
tới điacutech chuyển mạch goacutei thiacutech hợp cho việc truyền dữ liệu vigrave trong mạng truyền dữ
liệu khocircng đogravei hỏi về thời gian thực như thoại để sử dụng ưu điểm của mỗi loại
chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vagrave
chuyển mạch goacutei
4 PSTN ndash Public Switched Telephone Network
PSTN lagrave mạng chuyển mạch điện thoại cocircng cộng hay noacutei caacutech khaacutec lagrave mạng
kết nối tất cả caacutec hệ thống tổng đagravei chuyển mạch-mạch
Để hiểu rotilde hơn hatildey xem xeacutet mạng PSTN với mạng Internet về khiacutea cạnh
chuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thuecirc
bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệu
thoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại được
đoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chất
lượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
22
lại chi phiacute lại đắc hơn rất nhiều đặc biệt lagrave caacutec cuộc gọi quốc tế necircn phải cần cacircn
nhắc kỹ khi sử dụng
PSTN được phaacutet triển trecircn chuẩn ITU(International Telecommunication
Union) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet Engineering
Task Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sử
dụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thoại
trong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutei
thoại
5 TDM ndash Time Division Multiplexing
Lagrave kỹ thuật gheacutep kecircnh phacircn chia thời gian nhiều tiacuten hiệu coacute thể truyền đồng
thời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạng
PSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn một
khung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
23
Higravenh Minh họa gheacutep kecircnh phacircn chia theo thời gian
6 Caacutec higravenh thức baacuteo hiệu giao tiếp TDM
1 FXO vagrave FXS
FXO (Foreign Exchange Office) lagrave thiết bị nhận tiacuten hiệu từ tổng đagravei gửi đến
như dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệu
thoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối với
đường dacircy điện thoại
FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điện
thoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircm
chuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutep
cho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện thoại
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
24
Analog trong suốt thời gian đagravem thoại vagrave cung cấp 90VAC(20hz) để phaacutet điện aacutep
rung chuocircng Thiết bị FXS phaacutet cograven thiết bị FXO nhận
Card TDM sử dụng trong hệ thống asterisk thường tiacutech hợp vừa thiết bị FXO
vừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograven
FXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạch
cuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnh
TDM)
Toacutem lại cần nắm
FXS được kết nối với FXO giống với đường dacircy điện thoại nối với maacutey
điện thoại
FXS cung cấp nguồn cho điện thoại FXO(điện thoại Analog)
Higravenh a) Maacutey điện thoại vai trograve FXO kết nối với FXS(PSTN) Higravenh b) PBX
kết nối với FXO vagrave FXS Higravenh c) ATA đoacuteng vai trograve như FXS để kết nối với maacutey
điện thoại vai trograve FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
25
2 Baacuteo hiệu Analog giữa đầu cuối vagrave tổng đagravei
Khi chuacuteng ta nhấc mấy điện thoại để gọi thigrave nghe tiacuten hiệu mời quay số khi
cuộc gọi gọi đầu becircn kia bị bận thigrave chuacuteng ta nghe tiacuten hiệu bận(busy tone) caacutec loại
tiacuten hiệu như vậy gọi lagrave caacutec tiacuten hiệu baacuteo hiệu analog Caacutec tiacuten hiệu như Mời quay số
tiacuten hiệu bận rung chuocircng trạng thaacutei nhấc gaacutec maacutey Caacutec loại tiacuten hiệu trecircn được trao
đổi giữa thiết bị FXO vagrave FXS
Coacute nhiều phương thức baacuteo hiệu khaacutec nhau ứng với từng nơi sử dụng vigrave thế
tại nơi kết nối với đường dacircy điện thoại cần xem xeacutet họ đang sử dụng phương thức
baacuteo hiệu gigrave từ đoacute chuacuteng ta khai thaacutec loại tiacuten hiệu baacuteo hiệu cho thiacutech hợp caacutec
phương thức baacuteo hiệu như Loop Start Ground Start Một minh họa cho việc sử
dụng sai phương thức baacuteo hiệu lagrave khi chuacuteng ta khai baacuteo phương thức baacuteo hiệu giữa
hệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircng
nhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏa
được cuộc gọi để thực hiện cuộc gọi mới
3 Baacuteo hiệu giữa caacutec tổng đagravei
SS7 hệ thống baacuteo hiệu số 7 được phaacutet triển bởi ATampT vagrave ITU lagrave hệ thống
baacuteo hiệu chuyển caacutec cuộc gọi giữa caacutec tổng đagravei trong mạng PSTN Trong hệ thống
baacuteo hiệu số 7 tiacuten hiệu chuyển tải trecircn đường trung kế kết nối giữa hai tổng đagravei gồm
coacute hai mạch riecircng một cho thoại vagrave một cho baacuteo hiệu như vậy thoại vagrave baacuteo hiệu coacute
thể chuyển trecircn hai kecircnh vật lyacute khaacutec nhau
7 Baacuteo Hiệu trecircn mạng điện thoại VoIP
1 SIP Session Initiation Prorocol
Sip lagrave giao thức Internet dagravenh cho baacuteo hiệu VoIP được phaacutet triển bởi IETF
cung cấp vagravei chức năng giống hệ thống baacuteo hiệu số 7 nhưng dựa trecircn nền IP Một
chức năng giống baacuteo hiệu số 7 đoacute lagrave baacuteo hiệu vagrave thoại chuyển tải trecircn hai kecircnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
26
riecircng Giao thức SIP thực hiện chức năng thiết lập vagrave baacuteo hiệu cuộc gọi khi noacutei đến
baacuteo hiệu cuộc gọi lagrave chỉ định caacutec tiacuten hiệu baacuteo hiệu như tiacuten hiệu mời quay số tiacuten
hiệu bậnhellip
2 Proxy server
Mặc dầu hai thiết bị SIP coacute thể liecircn lạc trực tiếp với nhau để khởi tạo cuộc
gọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiết
lập cuộc gọi Proxy Server sẽ lagravem nhiệm vụ ghi nhận tất cả caacutec số điện thoại được
phiacutea client đăng kyacute đến qua bản tin ldquoRegistrationrdquo Khi một client khaacutec thực hiện
cuộc gọi thigrave thực sự Client đoacute khocircng biết số điện thoại cần gọi đang ở đacircu necircn thocircng
qua Proxy server để tigravem kiếm thiết lập cuộc gọi
+
Higravenh Đăng kyacute từ Client đến SIP Proxy Với Giao thức SIP đường baacuteo hiệu vagrave
thoại riecircng
3 RTP vaacute NAT
Caacutec cuộc gọi trecircn Internet với giao thức SIP được chia thagravenh caacutec goacutei thoại vagrave
được chuyển qua giao thức RTP(Real Time Protocol) RTP lagrave giao thức khocircng chỉ
thực hiện chuyển caacutec goacutei thoại qua Internet magrave cograven coacute cả video nữa Một cuộc gọi
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
27
thocircng thường coacute hai hướng thocircng tin lagrave nhận vagrave phaacutet RTP lagravem việc chuyển caacutec goacutei
dữ liệu thoại cũng trecircn hai hướng
NAT Network Address Translators lagrave một trở ngại lớn trong giao thức RTP
Mạng sử dụng NAT lagrave một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP
Cocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutenh
trong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutey
tiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenh
lagrave vấn để trở ngại khi truyền thoại qua giao thức RTP
Higravenh Minh họa hoạt động của NAT
Trong Giao thức RTP như chuacuteng ta đatilde biết đoacute lagrave thoại được chuyển trecircn hai
đường khaacutec nhau lagrave đường phaacutet vagrave đường thu Vấn đề NAT nằm ở chỗ tiacuten hiệu
thoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiều
ngược lại thigrave thực hiện tốt Hay noacutei caacutech khaacutec vấn đề NAT lagravem cho caacutec cuộc gọi từ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
28
Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trong
trường hợp caacutec cuộc gọi từ caacutec maacutey nội bộ ra caacutec maacutey internet thigrave nghe tốt
Vấn đề NAT trecircn được giải quyết trong Asterisk bằng việc khai baacuteo thocircng số
NAT=yes trong cấu higravenh kecircnh giao thức SIP
4 IAX ndash Inter Asterisk eXchange
IAX lagrave giao thức baacuteo hiệu Voip được phaacutet triển bởi taacutec giả của phần mềm
Asterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giao
thức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAX
chuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấn
đề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trong
việc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP header
cơ chế chuyển tải nhiều cuộc gọi trecircn cugraveng một goacutei IP được gọi lagrave trung kế(Trunk)
Coacute thể giải thiacutech thecircm cơ chế trung kế như sau Giả sử Tocirci cần gửi 5 bức thư
tới người bạn của Tocirci Tocirci sẽ coacute hai higravenh thức để thực hiện thứ nhất lagrave mỗi bức thư
Tocirci bỏ vagraveo một phong bigrave vậy tổng cộng tocirci phải sử dụng 5 phong bigrave để gửi đi 5 bức
thư Caacutech thứ hai lagrave Tocirci bỏ 5 bức thư vagraveo 1 phong bigrave vagrave gửi đi vậy tổng cộng Tocirci
chỉ tốn 1 phong bigrave Qua phacircn tiacutech trecircn rotilde ragraveng việc 5 bức thư vagraveo một phong bigrave sẽ
tiết kiệm hơn so với 5 bức thư với 5 phong biacute Cơ chế trecircn cũng giống như nhiều
cuộc gọi được đoacuteng thagravenh goacutei vagrave chuyển đi trecircn đường trung kế
Toacutem lại IAX lagrave giao thức dagravenh cho VoIP mới nhất cho đến thời điểm nagravey với
nhiều ưu điểm hấp dẫn như
+ Tối thiểu sử dụng băng thocircng
+ Trong suốt với NAT
+ Hiệu quả với cơ chế trung kế
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
29
8 Thiết Bị VoIP
1 Voip Phone
Đacircy lagrave thiết bị phần cứng kết nối với mạng VoIP giống như maacutey điện thoại để
bagraven thocircng thường nhưng dagravenh cho VoIP cần phải thực hiện cấu higravenh trước khi sử
dụng
Lưu yacute một số tiacutenh năng khi thực hiện mua thiết bị điện thoại VoIP
+ Low bandwidth hỗ trợ Codec nagraveo G729 lagrave tốt nhất hiện nay
+ Web Interface Phải coacute giao tiếp thiết lập cấu higravenh thacircn thiện dễ sử dụng
+ Audio Interface Coacute speaker phone hay khocircng
Giaacute thagravenh của điện thoại voip IP đắc hơn điện thoại thocircng thường giaacute khoảng
trecircn dưới 100$ một caacutei
Higravenh Maacutey Điện Thoại VoIP
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
30
2 Softphone
Lagrave một phần mềm được cagravei trecircn maacutey tiacutenh thực hiện tất cả caacutec chức năng giống
như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải coacute
card acircm thanh headphone vagrave firewall khocircng bị khoacutea
Sử dụng softphone với hệ thống Asterisk necircn dugraveng softphone với cocircng nghệ
giao thức mới dagravenh cho Asterisk đoacute lagrave IAX
Higravenh Điện Thoại Softphone
3 Card giao tiếp với PSTN
Muốn cho pheacutep caacutec maacutey điện thoại nội bộ trong hệ thống Asterisk kết nối vagrave
thực hiện cuộc gọi với mạng PSTN chuacuteng ta cần phải coacute thiết bị phần cứng tương
thiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng ty
Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềm
Asterisk lagrave hệ thống nguồn mở sử dụng miễn phiacute
Thiết bị phần cứng thường kyacute hiệu bắt đầu bằng cụm từ TDMxyB trong đoacute x
lagrave số lượng port FXS y lagrave số lượng port FXO giaacute trị tối đa của x vagrave y lagrave 4 viacute dụ
card TDM22B coacute nghĩa lagrave coacute 2 fort FXS vagrave 2 port FXO
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
31
Higravenh Card TDM22B gồm 4 port 2 FXS vagrave 2 FXO
4 ATA Analog Telephone Adaptors
ATA lagrave thiết bị kết nối với điện thoại Analog thocircng thường đến mạng VoIP
một thiết bị ATA gồm coacute hai loại port RJ-11 để kết nối với maacutey điện thoại analog
thocircng thường cograven RJ-45 để kết nối với mạng VoIP
ATA thực sự lagrave thiết bị FXS chuyển đổi tiacuten hiệu Analog sang tiacuten hiệu số sử
dụng cho mạng VoIP để tận dụng maacutey điện thoại Analog necircn trang bị thiết bị ATA
thay vigrave phải trang bị điện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX được Digium phacircn phối lagrave thiết bị
ATA được sử dụng rộng ratildei với Asterisk coacute tecircn gọi lagrave IAXy
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
32
Higravenh Thiết bị ATA
9 Codecs
Thuật Toaacuten codecs(CompressorDe-compressor) lagrave một tập caacutec quy luật được
sử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lại
Coacute nhiều thuật toaacuten codec để thực hiện chuyển đổi tiacuten hiệu analog sang tiacuten
hiệu số dạng nhị phacircn (01) như G711 GSM G729hellipỨng với mỗi thuật toaacuten coacute
những ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyền
Mục tiecircu cuối cugraveng lagrave caacutec thuật toaacuten đưa ra phải đảm bảo chất lượng cuộc gọi nhất
vagrave tiết kiệm băng thocircng nhất
G729 lagrave thuật toaacuten codec tốt nhất hiện nay trong hệ thống VoIP Với hệ
thống Asterisk để sử dụng thuật toaacuten nagravey cần phải mua bản quyền sử dụng vigrave đacircy lagrave
codec khocircng miễn phiacute sử dụng
10 QoS ndash Quality of Service
Caacutec yếu tố ảnh hưởng đến chất lượng của dịch vụ đối với VoIP đoacute lagrave caacutec
yếu ảnh hưởng đến chất lượng tiacuten hiệu thoại
1 Độ trễ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
33
Thoại lagrave dịch vụ mang tiacutenh thời gian thực rất cao vigrave thế trễ lagrave yếu tố ảnh
hưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacutenh
từ luacutec tiacuten hiệu thoại đi từ miệng người noacutei tới tai người nghe Trễ lagrave yếu tố khocircng
thể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng từ
50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thống
VoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150ms
khi magrave độ trễ vượt quaacute 400ms đến 500ms thigrave khocircng thể chấp nhận được
Caacutec nguyecircn nhacircn gacircy ra trễ bao gồm Trễ trecircn mạng lưới trễ trecircn bộ mả hoacutea
giải matilde trễ trong quaacute trigravenh đoacuteng goacutei trễ bộ đệm trễ xử lyacute tiếng noacuteihellip
2 Độ trượt(Jitter)
Nguyecircn nhacircn gacircy ra trượt lagrave goacutei tiacuten hiệu thoại trong quaacute trigravenh truyền từ
nguồn đến điacutech sẽ gặp phải những điều kiện khaacutec nhau trecircn mạng lưới do đoacute thường
đến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Một
nguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điều
hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong những
khoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứng
dụng khaacutec
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
34
Higravenh Nguyecircn nhacircn xảy ra trượt
Để loại bỏ tiacutenh khocircng đồng nhất của trễ người ta thiết kế caacutec bộ đệm trễ
(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutec
nhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ như
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
35
nhau Khi bộ đếm coacute kiacutech thước cagraveng lớn thigrave khả năng loại bỏ tiacutenh khocircng đồng nhất
cagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụng
thoại do đoacute cần coacute bagravei toaacuten cacircn đối giữa độ trễ vagrave độ trượt
Ngoagravei 2 nguyecircn nhacircn trecircn cograven một số nguyecircn nhacircn nữa ảnh hưởng đến chất
lượng thoại như độ mất goacutei giới hạn băng thocircng tiếng vọng
3 CAgraveI ĐẶT ASTERISK
1 Cagravei đặt Asterisk
1 Download vagrave bung neacuten
Để cagravei đặt Asterisk đầu tiecircn chuacuteng ta cần phải cagravei đặt hệ điều hagravenh linux trecircn
maacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặc
Debian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khi
cagravei Asterisk bao gồm
bison
gcc
kernel-source
libtermcap-devel
ncurses-devel
openssl096b
openssl-devel
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
36
Sau khi hoagraven tất caacutec bước trecircn chuacuteng ta tiến hagravenh download phần mềm
asterisk với phiecircn bản mới nhất
cd usrsrc
wget ftpftpdigiumcompubasteriskasterisk-140targz
wget ftpftpdigiumcompubasteriskasterisk-addons-140targz
wget ftpftpdigiumcompubasteriskasterisk-sounds-140targz
wget httpftpdigiumcompubzaptelzaptel-140targz
wget httpftpdigiumcompublibprilibpri-140targz
Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet sau
khi download hoagraven thagravenh chuacuteng ta tiến hagravenh bung neacuten caacutec goacutei ra thư mục chỉ định
tar ndashxzvf asterisk-140targz
tar ndashxzvf asterisk-addons-140targz
tar ndashxzvf asterisk-sounds-140targz
tar ndashxzvf zaptel-140targz
tar ndashxzvf libpri-140targz
Giải neacuten xong chuacuteng ta nhớ thực hiện lệnh
ln ndashs usrsrcasterisk-140 usrsrcasterisk lệnh nagravey để bảo đảm goacutei
ldquoaddonsrdquo được biecircn dịch đuacuteng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
37
Bacircy giờ tới phần chuacuteng ta biecircn dịch caacutec goacutei đatilde giải neacuten ở trecircn trước tiecircn lagrave goacutei
zaptel kế đến lagrave libpri sau cugraveng lagrave goacutei Asterisk
2 Cagravei đặt goacutei Zaptel
Goacutei zaptel sẽ chứa tại thư mục usrsrczaptel Đaacutenh lệnh như dưới đacircy để cagravei
đặt
cd usrsrczaptel
make clean make install
Lệnh nagravey thực hiện khoảng 2 phuacutet tugravey vagraveo tốc độ maacutey tiacutenh cagravei đặt sau khi
cagravei đặt xong sẽ trở lại dấu nhắc lệnh vagrave hiển thị một loạt caacutec thocircng baacuteo trong đoacute coacute
một số bản tin lỗi magrave chủ yếu lagrave yecircu cầu cagravei đặt caacutec goacutei phụ thuộc đatilde liệt kecirc ở trecircn
nếu caacutec goacutei trecircn chưa được cagravei đặt
Goacutei zaptel nagravey chứa caacutec driver cho caacutec phần cứng kết giao tiếp với asterisk
do Digium phacircn phối vagrave một số thư viện cho việc coacute thực hiện giao tiếp với phần
cứng hay khocircng
Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thực
hiện lệnh
make config
Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveo
luacutec khởi động maacutey Trong Redhat script nagravey sẽ được cheacutep vagraveo etcinitd chạy ở
mức 3
3 Cagravei đặt goacutei libpri
Kế đến chuacuteng ta biecircn dịch goacutei libpri tại thư mục usrsrclibpri bằng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
38
cd usrsrclibpri
make clean make install
Đoạn biecircn dịch nagravey khaacute nhau khoảng 1 phuacutet sau khi thực hiện xong sẽ trở
về dấu nhắc lệnh
Thư viện libpri cung cấp caacutec driver cho caacutec card giao tiếp trung kế PRI vagrave một
số phần cứng khaacutec Ngay cả Asterisk khocircng giao tiếp với card PRI nagraveo chuacuteng ta
cũng necircn cagravei đặt goacutei nagravey bởi một số module của Asterisk yecircu cầu thư viện nagravey
2 Cagravei đặt goacutei Asterisk
Sau khi thực hiện cagravei đặt caacutec goacutei phụ thuộc bacircy giờ chuacuteng ta thực sự cagravei đặt
Asterisk Phần nagravey chứa trong thư mục usrsrcasterisk necircn thực hiện gotilde lệnh như
sau
cd usrsrcasterisk
make clean make install
Kết thuacutec việc thực hiện cagravei đặt chuacuteng ta sẽ coacute một hệ thống PBX hoagraven chỉnh
vagrave caacutec tiacutenh năng trecircn đoacute Tại thời điểm nagravey chuacuteng ta sẽ tiến hagravenh thực hiện cấu higravenh
hệ thống đaacutep ứng với từng nhu cầu ứng dụng
Để hiểu hơn về caacutech cấu higravenh chuacuteng ta sẽ xem caacutec tập tin cấu higravenh mẫu bằng
lệnh sau
make samples
Caacutec tập tin cấu higravenh mẫu được đặt trong thư mục etcasterisk ngoại trừ tập
tin zaptelconf được đặt trong thư mục etc
Để Asterisk khởi động mỗi khi mở maacutey tiacutenh chuacuteng ta dugraveng lệnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
39
make config
3 Cagravei đặt TrixBox
1 Giới thiệu
TRIXBOX được phaacutet triển từ nhacircn của ứng dụng Asterisk được tổng hợp từ
một số thagravenh phần chiacutenh được phaacutet triển bởi cộng đồng phaacutet triển nguồn mở
Asterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việc
cấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng vagrave
nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp với
nhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụng
như một tổng đagravei PBX
Caacutec thagravenh phần chiacutenh trong goacutei TRIXBOX lagrave
Asterisk PBX Thagravenh phần chiacutenh của hệ thống Trixbox
CentOS Một phiecircn bản Linux khaacutec của Redhat hoagraven toagraven miển phiacute sử
dụng Lagrave nhacircn chiacutenh cho Trixbox
SugarCRM Hệ thống quan hệ khaacutech hagraveng CRM
A2Billing ndash Lagrave thagravenh phần dagravenh cho việc xacircy dựng hệ thống điện thoại
trả trước hay cograven gọi lagrave điện thọai thẻ (Calling Card)
Flash Operator Panel Bảng điều khiển giaacutem saacutet tigravenh trạng hoạt động
của caacutec maacutey điện thoại trong hệ thống
Web MeetMe Control Quản lyacute triển khai hệ thống điện thoại hội nghị
FreePBX Đacircy lagrave cocircng cụ với giao diện web dagravenh cho việc cấu higravenh hệ
thống Asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
40
Hệ thống Lưu trữ dự phograveng vagrave thống kecirc Lagrave thagravenh phần của TRIXBOX
cung cấp caacutec cocircng cụ cần thiết cho việc bảo trigrave bảo dưỡng hệ thống
Hệ thống Apache-Php-Mysql dagravenh cho giải phaacutep Webserver của hệ
thống
2 DOWNLOAD VAgrave LẮP ĐẶT TRIXBOX
Địa chỉ download httpsourceforgenetprojectsasteriskathome
Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD (xin
lưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_rom
chứ khocircng phải cheacutep file đoacute vagraveo cd_rom)
Sau khi coacute CD Hatildey boot từ CD nagravey để cagravei đặt trixbox
Chuacute yacute dữ liệu trecircn đĩa cứng sẽ bị xoacutea sạch để cagravei đặt trixbox Nếu trong
đĩa cứng cograven dữ liệu hatildey backup tất cả trước khi tiến hagravenh lắp đặt trixbox
Tới đacircy lần lượt caacutec magraven higravenh chỉ dẫn sẽ hiện ra vagrave cứ theo hướng dẫn magrave cagravei
đặt Sau khi cagravei đặt xong chuacuteng ta dugraveng Username root vagrave password password để
đăng nhập hệ thống
3 Cấu higravenh địa chỉ IP cho card mạng
Thiết lập địa chỉ IP bằng caacutech gotilde lệnh
netconfig
Chọn OK để thiếp lập
Nếu trong mạng coacute hỗ trợ DHCP thigrave hatildey chọn mục nagravey cograven nếu khocircng hatildey
nhập địa chỉ IP tĩnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
41
IP 19216801
Netmask 2552552550
Gateway 19216893254 ngotilde ra becircn ngoagravei
Primary nameserver 19216893200 thiết lập nếu coacute
Chọn OK để chấp nhận caacutec thiết lập trecircn
Sau khi hoagraven tất hatildey lagravem cho thiết lập coacute hiệu lực bằng caacutech reset lại
maacutey tiacutenh hoặc dugraveng lệnh sau
Service network stop
Service network start
Đến đacircy xem như cagravei đặt hoagraven tất bacircy giờ để cấu higravenh được Asterisk chuacuteng
ta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ
nhập vagraveo http19216801 đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thống
với tagravei khoảng username maint vagrave password password
4 Tổ Chức Thư Mục của Asterisk
Asterisk sử dụng nhiều thư mục trecircn hệ thống linux để quản lyacute caacutec khiacutea cạnh
khaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặc
caacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra trong
quaacute trigravenh lắp đặt vagrave được cấu higravenh trong tập tin Asteriskconf
1 etcasterisk
Thư mục etcasterisk chứa tất cả caacutec tập tin cấu higravenh của hệ thống
Asterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứng
Zaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
42
Group để giao tiếp giữa maacutey tiacutenh với mạng điện thoại magrave Asterisk lại sử
dụng phần cứng nagravey với lyacute do đoacute magrave file cấu higravenh zaptelconf khocircng nằm
trong thư mục etcasterisk
2 usrlibasteriskmodules
Thư mục usrlibasteriskmodules chứa tất cả caacutec module cần thiết để
asterisk hoạt động Becircn trong thư mục lagrave caacutec ứng dụng khaacutec nhau caacutec codec
caacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc định
Asterisk sẽ nạp tất cả caacutec module vagraveo luacutec khởi động Chuacuteng ta coacute thể khocircng cho
nạp một module bất kỳ bằng caacutech khocircng khai baacuteo sử dụng trong tập tin
modulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacute
khocircng lagravem ảnh hưởng hoạt động của asterisk nếu khocircng lỗi sẽ xuất hiện
3 varlibasterisk
Thư mục varlibasterisk chứa tập tin astdb vagrave một số thư mục con Tập tin
astdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft Windows
Registry
Caacutec thư mục con của thư mục varlibasterisk bao gồm
agi-bin
Thư mục agi-bin chứa caacutec script của người dugraveng magrave Asterisk coacute thể
định vị sử dụng qua caacutec ứng dụng AGI
AGI lagrave phần giao tiếp với ngocircn ngữ lập trigravenh script để thực hiện một
số cocircng việc của Asterisk từ becircn ngoagravei
firmware
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
43
Thư mục firmware chứa một số phần dẻo(firmware) cho caacutec thiết bị
khaacutec nhau tương thiacutech với Asterisk Hiện tại chỉ coacute thư mục con iax chứa
firmware cho thiếy bị IAXy của Digium IAXy lagrave thiết bị ATA sử dụng giao
thức IAX
images
Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mục
nagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircn
thư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ thigrave
thư mục nagravey trở necircn hiệu dụng
keys
Asterisk coacute thể sử dụng hệ thống khoaacute publicprivate để xaacutec minh caacutec kết nối
giữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute public
vagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằng
kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutec
minh nagravey Một khoaacute private khocircng bao giờ cocircng bố chuacuteng ta chỉ cocircng bố khoaacute
public đến với server cần nối đến sau đoacute sẽ được xaacutec minh với khoaacute private nagravey Cả
hai khoaacute public vagrave private được lưu với đuocirci pub vagrave key đặt tại thư mục keys
mohmp3
Khi cấu higravenh Asterisk sử dụng tiacutenh năng Music on Hold tiacutenh năng hoạt động
sẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chuẩn
của Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutech
hợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng
sounds
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
44
Tất cả caacutec tập tin acircm thanh liecircn quan đến nhắc thoại của Asterisk được đặt tại
thư mục sounds Nội dung của caacutec tập tin chứa trong thư mục được liệt kecirc qua tập
tin soundstxt đặt tại thư mục matilde nguồn của Asterisk Cograven nội dung của caacutec tập tin
acircm thanh được mở rộng thecircm được liệt kecirc trong tập tin sounds-extratxt đặt trong
thư mục được triacutech ra khi bung goacutei asterisk-sounds
4 varspoolasterisk
Thư mục varspoolasterisk Chứa nhiều thư mục con bao gồm outgoing
qcall tmp voicemail Asterisk luocircn kiểm qua thư mục outgoing vagrave qcall vigrave đacircy
lagrave hai thư mục chứa caacutec tập tin dạng text chứa thocircng tin yecircu cầu cuộc gọi Caacutec
tập tin đoacute cho pheacutep tạo ra cuộc gọi đơn giản bằng caacutech cheacutep tập tin đuacuteng cấu
truacutec quy định vagraveo thư mục outgoing Sau đacircy lagrave cấu truacutec cacircy thư mục
1 Higravenh Cacircy thư mục varspoolasterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
45
Thư mục tmp sử dụng để lưu trữ những thocircng tin tạm để luocircn bảo đảm khocircng
xảy ra tigravenh trạng đọc vagrave viết tập tin cugraveng một luacutec Khi yecircu cầu xử lyacute tập tin chuacuteng ta
thao taacutec trecircn thư mục tmp trước khi lưu vagraveo tập tin điacutech
Tất cả caacutec lời nhắc thoại từ phiacutea người sử dụng vagrave caacutec lời nhắc thoại sử dụng
cho thao taacutec hộp voicemail đều được chứa trong thư mục voicemail Một hộp thư
thoại được tạo ra ứng với một maacutey nội bộ trong tập tin voicemailconf sẽ được tạo
ra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
46
5 varrun
Thư mục varrun chứa thocircng tin process ID(pid) cho tất cả caacutec tiến trigravenh đang
hoạt động trong hệ thống bao gồm cả Asterisk Lưu yacute lagrave ứng với mỗi hệ điều hagravenh
thư mục varrun coacute thể khaacutec
6 varlogasterisk
Thư mục varlogasterisk lagrave nơi Asterisk chứa tất cả caacutec tập tin nhật kyacute hay
cograven gọi lagrave tập tin log Chuacuteng ta coacute thể tuỳ biến caacutec loại thocircng tin được lưu trong caacutec
tập tin log khaacutec nhau qua tập tin cấu higravenh loggerconf đặt tại thư mục etcasterisk
7 varlogasteriskcdr-csv
Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDR
Thocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVS
nhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu chi
tiết cuộc gọi cho maacutey đoacute
5 Một số lệnh thao taacutec trecircn hệ thống asterisk
Asterisk coacute hai thagravenh phần được xacircy dụng tiacutech hợp với nhau vagrave chạy song
song nhau
Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevices
trong window
Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thi
caacutec lệnh để kiểm tra hay xem caacutec thocircng tin của server
Để Chạy vagrave dừng Asterisk ở chế độ nền chuacuteng ta thực hiện lệnh sau
etcinitdasterisk (start|stop)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
47
Một khi Asterisk đatilde chạy chuacuteng ta coacute thể chuyển qua chế độ CLI từ dấu nhắc
lệnh của linux như sau
asterisk ndashr
Khi vagraveo chế độ lệnh nếu muốn thoaacutet về lại dấu nhắc linux chuacuteng ta dugraveng lệnh
CLIgtexit
Caacutec lệnh cơ bản thực hiện tại CLIgt
Bất cứ khi nagraveo chỉnh sửa caacutec tập tin cấu higravenh chuacuteng ta đều cần phải nạp lại để
caacutec thay đổi coacute hiệu lực điều đoacute thực hiện bằng lệnh
CLIgtreload
Bậc chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 debug
CLIgt SIP debug
Tắt chế độ debug cho kecircnh thocircng tin SIP hoặc IAX2
CLIgt IAX2 no debug
CLIgt SIP no debug
Hiển thị caacutec trạng thaacutei thocircng tin của users peers vagrave
channels của SIP hoặc IAX2
CLIgt sip show users
CLIgt sip show peers
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
48
CLIgt sip show channels
CLIgt iax2 show peers
CLIgt iax2 show users
CLIgt iax2 show channels
Đến thời điểm nagravey coacute thể noacutei chuacuteng ta đatilde hoagraven thagravenh cagravei đặt hệ thống
Asterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave quan
trọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thống
lecircn kế hoạch Diaplan chương cograven lại đều nhắm đến mục tiecircu nagravey
4 CẤU HIgraveNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoagraven tất phần cagravei đặt hệ thống asterisk một bước quan trọng tiếp theo
lagrave cấu higravenh hệ thống coacute thể noacutei đacircy lagrave bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầu
tiecircn về việc cấu higravenh trước khi đi sacircu hơn ở những chương sau những gigrave giới thiệu
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
49
trong chương nagravey lagrave nền moacuteng cơ bản nhưng đủ để hiểu lagravem thế nagraveo hệ thống coacute thể
hoạt động được nội dung chiacutenh bao gồm
+ Thao taacutec cấu higravenh trecircn hệ thống tập tin của asterisk
+ Caacutech cagravei đặt phần mềm softphone trecircn cocircng nghệ sip
+ Cấu higravenh cho hai maacutey softphone liecircn lạc với nhau
+ Cấu higravenh phaacutet thocircng điệp
+ Quay số qua Sip vagrave mạng PSTN
2 Tập Tin cấu higravenh
Tất cả caacutec file cấu higravenh cho hệ thống asterisk đều nằm tại thư mục etcasterisk
ngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutech
thức cấu higravenh giống như tập tin ini của window vậy Caacutec nội dung sau dấu chấm
phảy lagrave nội dung chuacute thiacutech trong file cấu higravenh giống như chuacute thiacutech trong ngocircn ngữ
lập trigravenh C lagrave dấu Tất cả caacutec khoảng trắng trong tập tin đều được bỏ qua khocircng coacute
yacute nghĩa trong file cấu higravenh
Trong file cấu higravenh cograven coacute hai pheacutep gaacuten rất thường xuyecircn được sử dụng
pheacutep gaacuten ldquo=rdquo lagrave dugraveng cho việc gaacuten caacutec biến cograven pheacutep gaacuten ldquo=gtrdquo dugraveng cho việc gaacuten
caacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
50
Đacircy lagrave caacutec dograveng chuacute thiacutech
[section]
Key=value gaacuten giaacute trị cho biến
[section2]
Key=gtobject Gaacuten giaacute trị cho đối tượng
Cuacute phaacutep thực hiện giống nhau cho tất cả caacutec file cấu higravenh nhưng coacute vagravei kiểu
khaacutec nhau cho mỗi file cầu higravenh dựa vagraveo thức caacutech hoạt động của chuacuteng
3 Caacutec kiểu ảnh hưởng trong tập cấu higravenh
Coacute ba kiểu caacutech thức hoạt động của tập tin cấu higravenh như sau
Kiểu Caacutech hoạt động File cầu higravenh Viacute dụ
S i m p l eGroup
Coacute hiệu lực trecircntừng dograveng trongfile
Extensionconf
Exten=gt4001dial(sip400)
O p t i o ninheritance
Dograveng khai baacuteosau thừa kếnhững thocircng sốkhai baacuteo trước
Zapataconf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=gt1
C o m p l e xEntity
Mỗi entity nhậnmột ngữ cảnh
sipconf
iaxconf
[cisco]
Type=friend
Secret=12345
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
51
Host=192168165
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đacircy lagrave kiểu cấu higravenh đơn giản nhất thường sử dụng trong caacutec file
extentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagrave
một đối tượng coacute yacute nghĩa trecircn dograveng đoacute
Viacute dụ
Extentionconf
[section]
object1=gt op1op2op3
object2=gt op1bop2bop3b
Trong viacute dụ trecircn mỗi dograveng tương ứng với caacutec toaacuten tử khaacutec nhau object1 coacute caacutec
toaacuten từ op1 op2 op3 trong khi đoacute object2 lại coacute caacutec toaacuten từ op1b op2b op3b
2 Option inheritance
Đacircy lagrave cấu higravenh kiểu thừa kế thường được cấu higravenh trong caacutec file zapataconf
agentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng số
dograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutec
thocircng số cho tương ứng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
52
Viacute dụ
Extentionconf
[section]
Op1=bas
Op2=adv
Object1=gt1
Op1=int
Object1=gt2
Với cấu higravenh trecircn coacute thể giải thiacutech như sau object1=gt1 thừa hưởng hai thocircng
số ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircng
số op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=int
vagrave op2=adv
3 Complex Entity
Với cấu kiểu nagravey được tổ chức thagravenh nhiều entity ứng với mỗi entity coacute nhiều
thocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnh
thocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf
Viacute dụ
Extentionconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
53
[entity1]
Op1=value1
Op2=value2
[entity2]
Op1=value3
Op2=value4
Entity1 coacute caacutec giaacute trị value1 vagrave value2 cho thocircng số op1 vagrave op2 trong khi đoacute
cũng lagrave thocircng số op1 vagrave op 2 nhưng coacute caacutec giaacute trị khaacutec lagrave value3 vagrave value4 cho
entity2
4 Cấu higravenh giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chuacuteng ta cần phải coacute một card TDM với Cổng
FXO vagrave một đường dacircy điện thoại hoặc coacute thể lagrave một tổng đagravei nội bộ PBX Coacute
nhiều nhagrave sản xuất phần cứng khaacutec nhau nhưng trong phần cấu higravenh dưới dacircy lagrave cấu
higravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng
175$)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
54
Higravenh Giao tiếp với FXO vagrave FXS
Ở higravenh trecircn chuacuteng ta đang tiến hagravenh cấu higravenh cho port FXO
2 Lắp đặt card TDM01B vagrave cấu higravenh
Trước khi lắp đặt card TDM01B hatildey tắt nguồn maacutey tiacutenh vagrave kiểm tra cổng
PCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lại
vagrave chuẩn bị cấu higravenh cho card hoạt động
Cấu higravenh cho card hoạt động thocircng qua hai file cấu higravenh đoacute lagrave file zaptelconf
nằm trong thư mục etc vagrave file zapataconf tại thư mục etcasterisk cấu higravenh trong
file zapataconf để cho kecircnh FXO hoạt động
Tại thời điểm nagravey chỉ ở mức cơ bản necircn khocircng giải thiacutech kỹ caacutec thocircng số cấu
higravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chương Cấu
Higravenh Kết Nối Với Mạng PSTN
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
55
Để giữ lại caacutec cấu higravenh cũ necircn lưu lại để đề phograveng bất trắc cần khocirci phục lại
về sau bằng lệnh
cp etczaptelconf etczaptelconfold
cp etcasteriskzapataconf etcasteriskzapataconfold
etczaptelconf
fxsks=1
loadzone=us
defaultzone=us
channels=1
etcasteriskzapataconf
[channels]
Group=1
context=default cuộc gọi vagraveo sẽ đến [default] quafile extensionsconf
signalling=fxs_ks Sử dụng tiacuten hiệu FXS cho kecircnh FXO
channel =gt 1 Đường dacircy điện thoại được gắn với port 1
Sau khi cấu higravenh xong tiến hagravenh nạp driver vagrave nạp lại file cấu higravenh cho card
hoạt động như sau
Modprode zaptel
Modprode wcfxo
Ztcfg ndashvvvvv
Asterisk -vvvvvgc
5 Cấu higravenh Điện thoại IP SIP phone
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
56
Trong phần nagravey cũng sẽ giới thiệu cấu higravenh khai baacuteo đơn giản điện thoại IP
SIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chương Cấu Higravenh Giao
Thức SIP vagrave IAX
Thực hiện cấu higravenh trong file etcasterisksipconf Caacutec maacutey điện thoại sẽ cấu
higravenh trong file nagravey trước khi quay số hay nhận cuộc gọi
1 Phần khai baacuteo Chung
Trong file sipconf coacute section [general] dugraveng để khai baacuteo caacutec thocircng số chung
cho tất cả caacutec kecircnh sip trong toagraven bộ tập tin nagravey nhưng caacutec thocircng số đoacute coacute thể mang
giaacute trị khaacutec trong phần khai baacuteo trecircn caacutec kecircnh riecircng để phugrave hợp với kecircnh đoacute
Sau đacircy lagrave caacutec thocircng số chiacutenh
Allowdisallow Định nghĩa sử dụng caacutec codec
Bindaddr Địa chỉ IP magrave client kết nối đến kecircnh nagravey nếu thocircng số nagravey được
khai baacuteo lagrave 0000 cho pheacutep tất cả caacutec địa chỉ IP coacute thể kết nối đến kecircnh nagravey
Context Tất cả caacutec cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh nagravey
ngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec
Bindport Cổng SIP UDP magrave client cần kết nối đến
Maxexpirey Thời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy
Defaultexpirey Thời gian mặc định để đăng kyacute đơn vị tiacutenh bằng giacircy
Register Để kết nối giao tiếp với server khaacutec
Viacute dụ
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
57
etcasterisksipconf
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
2 Khai baacuteo kecircnh SIP
Trong phần nagravey sẽ khai baacuteo caacutec kecircnh sip riecircng cho từng điện thoại ip sip
phone tất nhiecircn caacutec thocircng số trong phần [general] sẽ coacute hiệu lực trecircn caacutec kecircnh nagravey
ngoại trừ tại phần khai baacuteo caacutec kecircnh nagravey khai baacuteo lại thocircng số ở phần trecircn
Sau đacircy lagrave caacutec thocircng số dagravenh khai baacuteo riecircng cho từng kecircnh SIP
[name] đacircy lagrave phần khai baacuteo maacutey điện thoại extention ip sip coacute thể lagrave kyacute tự
nhưng thường lagrave caacutec con số quay vigrave trecircn caacutec phiacutem điện thoại thường lagrave caacutec con số
magrave thocirci
Type Kiểu kết nối thocircng tin user peer hay friend
Host Địa chỉ IP hay tecircn miền magrave client kết nối với kecircnh nagravey thường dugraveng giaacute
trị lagrave ldquodynamicrdquo cho tất cả client kết nối đến
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
58
Secret mật khẩu để sử dụng kecircnh nagravey Maacutey điện thoại phiacutea client phải khai
baacuteo trugraveng với thocircng số nagravey thigrave mới sử dụng được
Viacute dụ
etcasterisksipconf
[8000]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
[8001]
Type=friend
Secret=2222
Context=NoiBo
Host=192168516
6 Giới Thiệu DialPlan
Dialplan lagrave traacutei tim của hệ thống asterisk Dialplan cho biết caacutec cuộc gọi sẽ
được xử lyacute như thế nagraveo qua hệ thống asterisk Dialplan bao gồm tập hợp caacutec dograveng
lệnh hay caacutec ứng dụng theo một trigravenh tự nagraveo đoacute magrave hệ thống phải thực hiện để đaacutep
ứng nhu cầu chuyển mạch cuộc gọi Để hiểu rotilde vagrave cấu higravenh thagravenh cocircng hệ thống
asterisk thigrave điều kiện tiecircn quyết lagrave phải biết như thế nagraveo dialplan hoạt động
Dialplan lagrave cocircng việc thiết lập cho hoạt động của hệ thống như định hướng caacutec
cuộc gọi vagraveo vagrave ra hệ thống đoacute lagrave một danh saacutech caacutec bước hay caacutec lệnh liecircn tục
nhau để thực hiện một taacutec vụ nagraveo đoacute magrave hệ thống phải thực hiện theo Khaacutec biệt
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
59
với caacutec hệ thống điện thoại truyền thống tất cả caacutec cocircng việc cấu higravenh hệ thống đều
lagrave từ phiacutea người sử dụng
Hệ thống chuacuteng ta coacute hoagraven chỉnh tốt hay khocircng phụ thuộc rất nhiều vagraveo việc
chuacuteng ta hiểu rotilde vagraveo dialplan hay khocircng
Trong phần nagravey sẽ tập trung đi vagraveo thực hiện diaplan ở mức nền tảng thực hiện
cuộc gọi trước khi đi sacircu tigravem hiểu kỹ ở những chương sau
Dialplan được cấu higravenh qua tập tin extensionconf liecircn quan đến việc cấu higravenh
dialplan coacute những khaacutei niệm cần nắm đoacute lagrave
Extentions Điện thoại nội bộ
Priorities Thứ tự thực hiện
Applications Caacutec ứng dụng
Contexts Caacutec ngữ cảnh
Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xin
mời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tin
extentionconf gốc vagrave thực hiện trecircn file extentionconf rỗng
1 Extentions
Dialplan lagrave một tập gồm nhiều extention khi một cuộc gọi tương ứng với
extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơn
giản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thực
hiện như _9xxx
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
60
Caacutec dạng của extention
Viacute dụ
etcasteriskextentionconf
exten=gt80511dial(sip805120)
exten=gt80512hangup()
ldquoexten=gtrdquo giống nhau cho mỗi dograveng thực hiện trong dialplan 8051 lagrave số điện
thoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tức
lagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip
8051 nếu trong vograveng 20 giacircy magrave thuecirc bao khocircng nhấc maacutey thigrave kết thuacutec cuộc gọi
Extension lagrave thagravenh phần magrave asterisk thực hiện theo được kiacutech hoạt khi coacute
cuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
61
sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec định
cuộc gọi cần thực hiện Extenstion hoagraven chỉnh gồm coacute caacutec phần
exten =gt Namepriorityapplication( )
Name (Tecircn kyacute tự hoặc con số) của extension
Priority (Mỗi extension coacute thể bao gồm nhiều bước mỗi bước được gọi lagrave
ldquopriorityrdquo)
Application (or command) Thực hiện một ứng dụng cụ thể nagraveo đoacute cho cuộc
gọi
Một viacute dụ cụ thể như sau
etcasteriskextentionconf
exten =gt 73250101Dial(Zap120)
exten =gt 73250102Voicemail(u7325010)
exten =gt Tương ứng với mỗi ứng dụng thực hiện
7325010 Con số nhận được khi thuecirc bao chủ gọi quay số
1 2 lagrave caacutec ldquopriorityrdquo thứ tự được thực hiện 1 rồi tới 2hellip
Trong viacute dụ của chuacuteng ta con số 7325010 sẽ được gửi đến kecircnh zap1 rung
chuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được định
hướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailable
messagerdquo
2 Priorities ndash Thứ tự thực hiện
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
62
Priorities lagrave thứ tự thực hiện caacutec ứng dụng trong dialplan khi thứ tự ldquo1rdquo được
thực hiện thigrave kế tiếp lagrave ứng dụng tại thứ tự số ldquo2rdquo được thực hiện kể từ vertion 12
của Asterisk thay vigrave sử dụng gaacuten một con số cụ thể cho thứ tự thực hiện như trecircn thigrave
ở đacircy coacute thể gaacuten kyacute tự ldquonrdquo cho mọi dograveng ldquoexten=gtrdquo điều nagravey sẽ noacutei với asterisk lagrave
ứng dụng với thứ tự tiếp theo sẽ thực hiện
Viacute dụ
etcasteriskextentionconf
exten=gt80512hangup()
exten=gt80511dial(sip805120)
Ở viacute dụ trecircn dograveng coacute thứ tự ldquo2rdquo đứng trước dograveng coacute thứ tự ldquo1rdquo nhưng khi thực hiện
diaplan thigrave dograveng coacute thứ tự Priorities ldquo1rdquo ưu tiecircn thực hiện trước bất kể thứ tự sắp xếp như
thế nagraveo
Viacute dụ
etcasteriskextentionconf
exten=gt8051ndial(sip805120)
exten=gt8051nhangup()
Thứ tự thực hiện từng dograveng 1 từ trecircn xuống dưới
3 Aplications ndash Caacutec hagravem ứng dụng
Đacircy lagrave phần quan trọng trong diaplan tức lagrave ứng dụng nagraveo sẽ được thực hiện
trecircn mỗi dograveng caacutec ứng dụng như thực hiện quay sốtrả lời cuộc gọi hay đơn giản lagrave
nhấc gaacutec maacutey để biết thecircm thocircng tin về caacutec ứng dụng cũng như caacutec thocircng số kegravem
theo thigrave hatildey dugraveng lệnh show Aplications trecircn giao tiếp dograveng lệnh của asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
63
CLIgt show Aplications
4 Contexts - Ngữ cảnh
Đầu tiecircn hatildey higravenh dung như thế nagravey khi Cocirc Giaacuteo vagrave Sinh Viecircn trao đổi về
mocircn cơ sở tin học viễn thocircng coacute nghĩa lagrave ngữ cảnh(context) luacutec nagravey chỉ tập trung
vagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạn
trong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cảnh
(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằng
trong hệ thống sẽ coacute rất nhiều ngữ cảnh(context) khaacutec nhau
Viacute dụ khi gọi đến tổng đagravei Asterisk coacute một thocircng điệp thocircng baacuteo như sau
ldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kinh
doanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống sẽ
chuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem
2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như
vậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh được đặt
trong dấu []
etcasteriskextentionconf
[PhongKinhDoanh]
exten =gt 73250101Dial(SIP$EXTEN)20)
exten =gt 73250102Voicemail(u$EXTEN)
[PhongKyThuat]
exten =gt _91Dial(SIP$EXTEN)
Ngoagravei ta đối với việc cấu higravenh cho caacutec kecircnh thoại thigrave ngữ cảnh ở đacircy lagrave việc
xử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
64
viacute dụ
etcasterisksipconf
[8051]
Type=friend
Context=Tu_SIP
helliphelliphelliphelliphelliphellip
[8052]
Type=friend
Context=noibo
helliphelliphelliphelliphelliphellip
etcasteriskextentionconf
[noibo]
exten=gt80511dial(sip805120)
exten=gt80512hangup()
[Tu_SIP]
exten=gt80521dial(sip805220)
exten=gt80522hangup()
Khi thuecirc bao 8052 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[noibo] vagrave chờ nhận con số quay nếu thuecirc bao 8052 quay số 8051 thigrave số maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
65
sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8051 khocircng nhấc
maacutey thigrave cuộc gọi sẽ kết thuacutec
Khi thuecirc bao 8051 nhấc maacutey thigrave Asterisk chuyển cuộc gọi nagravey đến ngữ cảnh
[Tu_SIP] vagrave chờ nhận con số quay nếu thuecirc bao 8051 quay số 8052 thigrave số maacutey
8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircng
nhấc maacutey thigrave cuộc gọi sẽ kết thuacutec
7 Ngữ cảnh thực hagravenh ứng dụng
Higravenh Ngữ cảnh thực hagravenh ứng dụng
Trong phần thực hagravenh nagravey chuacuteng ta cần trang bị những thiết bị sau
+ Maacutey tiacutenh server asterisk
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
66
+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenh
server asterisk
+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhagrave cung cấp dịch vụ
VoIP
1 Bước 1 Cấu higravenh cho hai sip phone X-lite 8051 vagrave 8052 bằng
caacutech cấu higravenh trecircn file sipconf như sau
etcasterisksipconf
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
67
[general]
Bindport=5060
Bindaddr=0000
Context=default
Disallow=all
Allow=ulaw
Maxexpirey=120
Defaultexpirey=80
[8051]
Type=friend
Secret=123456
Context=NoiBo
Host=dynamic
Canreinvite=no
[8052]
Type=friend
Secret=2222
Context=NoiBo
Host=dynamic
Canreinvite=no
2 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 8051
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
68
1 Chọn settings trecircn menu
2 Thực hiện khai baacuteo cấu higravenh như sau
3 Chọn apply hoặc ok để xaacutec nhận thocircng tin
4 Tại đacircy softphone coacute thể kết nối với server asterisk
3 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone
8052
8 Tạo diaplan
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
69
Bacircy giờ tới phần để cho caacutec maacutey điện thoại đatilde khai baacuteo trecircn coacute thể thực hiện
caacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấu
higravenh trong file extentionconf
1 Thực hiện một viacute dụ cơ bản
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2playback(hello_world)
Exten=gts3hangup()
Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả caacutec cuộc gọi
đến sau đoacute chuyển qua thứ tự Priority kế tiếp
Thứ tự Priority 2 hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh
helloworldgsm
Cuối cugraveng Priority 3 kết thuacutec cuộc gọi
Giải thiacutech đoạn lệnh trecircn
Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh
[incoming] ngữ cảnh nagravey được định nghĩa trong file cấu higravenh zapataconf caacutec cuộc
gọi vagraveo được xử lyacute qua extention ldquosrdquo trong viacute dụ trecircn coacute 3 priorities ứng với mỗi
priorities lagrave một ứng dụng được gọi thực hiện
Extention ldquosrdquo lagrave một extention đặc biệt thực hiện xử lyacute caacutec cuộc gọi vagraveo khi
con số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ caacutec
cuộc gọi vagraveo từ giao tiếp FXO)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
70
Answer() Application thực hiện trả lời cuộc gọi trong trạng thaacutei cuộc gọi
đang rung chuocircng hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lyacute cuộc gọi
Playback() Application ứng dụng nagravey để phaacutet một file acircm thanh được thu
sẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điện
thoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạng
gsm hoặc wav file acircm thanh được lấy từ thư mục mặc định lagrave
(varlibasterisksounds)
Hangup() application ứng dụng kết thuacutec cuộc gọi
2 Caacutec ứng dụng dial() background() vagrave goto()
Để thực hiện dialplan thecircm phần uyển chuyển hơn xin giới thiệu thecircm 3 ứng
dụng cơ bản nữa trong thực hiện dialplan
Background() Ứng dụng nagravey thực hiện phaacutet một file acircm thanh vagrave chờ nhận
con số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacutey
điện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự priority
tương ứng với con số nhận được cuacute phaacutep của ứng dụng
exten=gtextentionprioritybackground(TecircnFile)
goto() Lagrave ứng dụng thực hiện nhảy từ context extention priority hiện hagravenh
đến context extention priority được chỉ định trong ứng dụng goto()
Cuacute phaacutep của ứng dụng goto()
etcasteriskextentionconf
exten=gtextentionprioritygoto(contextextentionpriority)
exten=gtextentionprioritygoto(extentionpriority)
exten=gtextentionprioritygoto(priority)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
71
Sau đacircy lagrave một đoạn lệnh minh họa cho ứng dụng của một cocircng ty gồm 3
phograveng ban đoacute lagrave phograveng kỹ thuật phograveng hagravenh chaacutenh vagrave phograveng tiếp thị baacuten hagraveng Khi
cuộc gọi đến cocircng ty thigrave hệ thống asterisk sẽ phaacutet thocircng điệp mời nhấn số để chọn
phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocirci
mời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh vagrave
phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng với
123 thigrave sẽ được thocircng baacuteo vagrave chuyển đến phograveng ban tương ứng
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12goto(kythuats1)
Exten=gt21playback(HanhChanh)
Exten=gt22goto(HanhChanhs1)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32goto(TiepThiBanHangs1)
Dial() Ứng dụng thực hiện quay số điện thoại để minh họa cho ứng dụng
dial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứng
thigrave thực hiện quay trực tiếp đến số điện thoại của phograveng ban đoacute Viacute dụ thực hiện
quay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đến
zap1 cho phograveng tiếp thị baacuten hagraveng
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)
Saacutech Asterisk ndash httpmyoperacomasteriskvn
Taacutec Giả Lecirc Quốc Toagraven
72
etcasteriskextentionconf
[incoming]
Exten=gts1answer()
Exten=gts2background(LoiChao)
Exten=gts3hangup()
Exten=gt11playback(KyThuat)
Exten=gt12dial(sip8051)
Exten=gt21playback(HanhChanh)
Exten=gt22dial(iax28000)
Exten=gt31playback(TiepThiBanHang)
Exten=gt32dial(zap1)