sach asterisk tieng viet

72
Ch ương 1 T ỔNG QUAN VỀ ASTERISK 5 1.1 GIỚI THIỆU ASTERISK 5 1.2 KIẾN TRÚC ASTERISK 8 1.3 MỘT SỐ TÍNH N ĂNG C Ơ B ẢN 10 1.3.1 Voicemail (hộp th ư tho ại) 10 1.3.2 Call Forwarding(chuyển cuộc gọi) 10 1.3.3 Caller ID (hiển thị số gọi) 10 1.3.4 Automated attendant (chức n ăng IVR) 11 1.3.5 Time and Date 11 1.3.6 Call Parking 11 1.3.7 Remote call pickupe 11 1.3.8 Privacy Manager 12 1.3.9 Backlist 12 1.4 Các ng ữ cảnh ứng dụng 12 1.4.1 Tổng đ ài voip IP PBX 12 1.4.2 Kết nối IP PBX với PBX 14 1.4.3 Kết nối giữa các server Asterisk 15 1.4.4 Các ứng dụng IVR, VoiceMail, Đi ện Thoại Hội Nghị 16 1.4.5 Chức n ăng Phân ph ối cuộc gọi tự đ ộng ACD 17

Upload: vunhat05dt1

Post on 14-Jun-2015

1.883 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Sach Asterisk Tieng Viet

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)

Page 2: Sach Asterisk Tieng Viet

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)

Page 3: Sach Asterisk Tieng Viet

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)

Page 4: Sach Asterisk Tieng Viet

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)

Page 5: Sach Asterisk Tieng Viet

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)

Page 6: Sach Asterisk Tieng Viet

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)

Page 7: Sach Asterisk Tieng Viet

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)

Page 8: Sach Asterisk Tieng Viet

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)

Page 9: Sach Asterisk Tieng Viet

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)

Page 10: Sach Asterisk Tieng Viet

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)

Page 11: Sach Asterisk Tieng Viet

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)

Page 12: Sach Asterisk Tieng Viet

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)

Page 13: Sach Asterisk Tieng Viet

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)

Page 14: Sach Asterisk Tieng Viet

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)

Page 15: Sach Asterisk Tieng Viet

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)

Page 16: Sach Asterisk Tieng Viet

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)

Page 17: Sach Asterisk Tieng Viet

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)

Page 18: Sach Asterisk Tieng Viet

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)

Page 19: Sach Asterisk Tieng Viet

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)

Page 20: Sach Asterisk Tieng Viet

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)

Page 21: Sach Asterisk Tieng Viet

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)

Page 22: Sach Asterisk Tieng Viet

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)

Page 23: Sach Asterisk Tieng Viet

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)

Page 24: Sach Asterisk Tieng Viet

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)

Page 25: Sach Asterisk Tieng Viet

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)

Page 26: Sach Asterisk Tieng Viet

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)

Page 27: Sach Asterisk Tieng Viet

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)

Page 28: Sach Asterisk Tieng Viet

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)

Page 29: Sach Asterisk Tieng Viet

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)

Page 30: Sach Asterisk Tieng Viet

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)

Page 31: Sach Asterisk Tieng Viet

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)

Page 32: Sach Asterisk Tieng Viet

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)

Page 33: Sach Asterisk Tieng Viet

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)

Page 34: Sach Asterisk Tieng Viet

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)

Page 35: Sach Asterisk Tieng Viet

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)

Page 36: Sach Asterisk Tieng Viet

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)

Page 37: Sach Asterisk Tieng Viet

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)

Page 38: Sach Asterisk Tieng Viet

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)

Page 39: Sach Asterisk Tieng Viet

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)

Page 40: Sach Asterisk Tieng Viet

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)

Page 41: Sach Asterisk Tieng Viet

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)

Page 42: Sach Asterisk Tieng Viet

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)

Page 43: Sach Asterisk Tieng Viet

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)

Page 44: Sach Asterisk Tieng Viet

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)

Page 45: Sach Asterisk Tieng Viet

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)

Page 46: Sach Asterisk Tieng Viet

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)

Page 47: Sach Asterisk Tieng Viet

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)

Page 48: Sach Asterisk Tieng Viet

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)

Page 49: Sach Asterisk Tieng Viet

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)

Page 50: Sach Asterisk Tieng Viet

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)

Page 51: Sach Asterisk Tieng Viet

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)

Page 52: Sach Asterisk Tieng Viet

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)

Page 53: Sach Asterisk Tieng Viet

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)

Page 54: Sach Asterisk Tieng Viet

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)

Page 55: Sach Asterisk Tieng Viet

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)

Page 56: Sach Asterisk Tieng Viet

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)

Page 57: Sach Asterisk Tieng Viet

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)

Page 58: Sach Asterisk Tieng Viet

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)

Page 59: Sach Asterisk Tieng Viet

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)

Page 60: Sach Asterisk Tieng Viet

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)

Page 61: Sach Asterisk Tieng Viet

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)

Page 62: Sach Asterisk Tieng Viet

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)

Page 63: Sach Asterisk Tieng Viet

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)

Page 64: Sach Asterisk Tieng Viet

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)

Page 65: Sach Asterisk Tieng Viet

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)

Page 66: Sach Asterisk Tieng Viet

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)

Page 67: Sach Asterisk Tieng Viet

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)

Page 68: Sach Asterisk Tieng Viet

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)

Page 69: Sach Asterisk Tieng Viet

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)

Page 70: Sach Asterisk Tieng Viet

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)

Page 71: Sach Asterisk Tieng Viet

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)

Page 72: Sach Asterisk Tieng Viet

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)