+ All Categories
Home > Documents > Sach Asterisk Tieng net

Sach Asterisk Tieng net

Date post: 10-Apr-2018
Category:
Upload: tamthanhchi
View: 240 times
Download: 2 times
Share this document with a friend
72
Chương 1 TNG QUAN VASTERISK 5 1.1 GII THIU ASTERISK 5 1.2 KIN TRÚC ASTERISK 8 1.3 MT STÍNH NĂNG CƠ BN 10 1.3.1 Voicemail (hp thư thoi) 10 1.3.2 Call Forwarding(chuyn cuc gi) 10 1.3.3 Caller ID (hin thsgi) 10 1.3.4 Automat ed attendant (chc 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 ngcnh ng dng 12 1.4.1 Tng đài voip IP PBX 12 1.4.2 Kết ni IP PBX vi PBX 14 1.4.3 Kết ni gia các server Asterisk 15 1.4.4 Các ng dng IVR, VoiceMail, Đin Thoi Hi Ngh16 1.4.5 Chc năng Phân phi cuc gi tđộng ACD 17
Transcript

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 172

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 11138 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 272

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

www04hcbnet

Taacutec Giả Lecirc Quốc Toagraven

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 372

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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 572

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ằngcaacutech cấu higravenh trecircn file sipconf như sau 56

472 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 805157

473 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone8052 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 672

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 đế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

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ộnđ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ế 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ủtổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 772

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 ngoagraveimục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộnđồng người sử dụng vagrave phaacutet triển Linux

Asterisk lagrave mộtPBXvagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenhcaacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thườnchạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave m bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọđầ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 truacutemở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircnnghệ 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ểnkhai ứ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ệthoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việcgiữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tố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ớimạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoạ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 lagravemcho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết ch

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 vagraveMicrosoft Windows

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 872

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ốngTDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hthống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thovoip 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 972

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ệ đithoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAXMGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như TE1 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 DynamiModule Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutecformat codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kếtnạp vagraveo hệ thống

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1072

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ẵnsagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo

hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconfChứ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 nhaucoacute 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 giaotiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kế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 khaacutecnhau như G711 GMS G729hellip

Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầumố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ư SIIAX 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

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 272

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

www04hcbnet

Taacutec Giả Lecirc Quốc Toagraven

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 372

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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 572

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ằngcaacutech cấu higravenh trecircn file sipconf như sau 56

472 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 805157

473 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone8052 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 672

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 đế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

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ộnđ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ế 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ủtổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 772

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 ngoagraveimục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộnđồng người sử dụng vagrave phaacutet triển Linux

Asterisk lagrave mộtPBXvagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenhcaacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thườnchạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave m bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọđầ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 truacutemở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircnnghệ 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ểnkhai ứ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ệthoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việcgiữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tố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ớimạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoạ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 lagravemcho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết ch

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 vagraveMicrosoft Windows

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 872

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ốngTDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hthống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thovoip 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 972

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ệ đithoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAXMGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như TE1 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 DynamiModule Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutecformat codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kếtnạp vagraveo hệ thống

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1072

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ẵnsagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo

hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconfChứ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 nhaucoacute 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 giaotiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kế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 khaacutecnhau như G711 GMS G729hellip

Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầumố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ư SIIAX 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

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 372

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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 572

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ằngcaacutech cấu higravenh trecircn file sipconf như sau 56

472 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 805157

473 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone8052 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 672

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 đế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

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ộnđ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ế 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ủtổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 772

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 ngoagraveimục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộnđồng người sử dụng vagrave phaacutet triển Linux

Asterisk lagrave mộtPBXvagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenhcaacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thườnchạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave m bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọđầ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 truacutemở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircnnghệ 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ểnkhai ứ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ệthoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việcgiữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tố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ớimạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoạ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 lagravemcho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết ch

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 vagraveMicrosoft Windows

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 872

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ốngTDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hthống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thovoip 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 972

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ệ đithoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAXMGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như TE1 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 DynamiModule Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutecformat codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kếtnạp vagraveo hệ thống

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1072

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ẵnsagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo

hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconfChứ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 nhaucoacute 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 giaotiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kế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 khaacutecnhau như G711 GMS G729hellip

Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầumố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ư SIIAX 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

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 572

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ằngcaacutech cấu higravenh trecircn file sipconf như sau 56

472 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 805157

473 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone8052 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 672

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 đế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

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ộnđ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ế 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ủtổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 772

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 ngoagraveimục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộnđồng người sử dụng vagrave phaacutet triển Linux

Asterisk lagrave mộtPBXvagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenhcaacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thườnchạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave m bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọđầ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 truacutemở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircnnghệ 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ểnkhai ứ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ệthoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việcgiữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tố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ớimạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoạ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 lagravemcho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết ch

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 vagraveMicrosoft Windows

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 872

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ốngTDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hthống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thovoip 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 972

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ệ đithoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAXMGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như TE1 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 DynamiModule Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutecformat codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kếtnạp vagraveo hệ thống

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1072

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ẵnsagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo

hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconfChứ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 nhaucoacute 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 giaotiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kế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 khaacutecnhau như G711 GMS G729hellip

Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầumố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ư SIIAX 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

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 572

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ằngcaacutech cấu higravenh trecircn file sipconf như sau 56

472 Bước 2 Cấu higravenh softphone x-lite phiacutea client cho maacutey 805157

473 Bước 3 Lập lại bước hai để khai baacuteo maacutey điện thoại softphone8052 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 672

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 đế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

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ộnđ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ế 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ủtổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 772

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 ngoagraveimục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộnđồng người sử dụng vagrave phaacutet triển Linux

Asterisk lagrave mộtPBXvagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenhcaacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thườnchạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave m bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọđầ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 truacutemở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircnnghệ 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ểnkhai ứ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ệthoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việcgiữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tố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ớimạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoạ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 lagravemcho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết ch

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 vagraveMicrosoft Windows

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 872

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ốngTDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hthống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thovoip 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 972

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ệ đithoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAXMGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như TE1 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 DynamiModule Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutecformat codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kếtnạp vagraveo hệ thống

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1072

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ẵnsagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo

hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconfChứ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 nhaucoacute 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 giaotiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kế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 khaacutecnhau như G711 GMS G729hellip

Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầumố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ư SIIAX 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

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 672

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 đế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

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ộnđ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ế 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ủtổng đagravei PBX vagrave hơn thế nữa Asterisk ra đời vagraveo năm 1999 bởi một chagraveng trai sinh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 772

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 ngoagraveimục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộnđồng người sử dụng vagrave phaacutet triển Linux

Asterisk lagrave mộtPBXvagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenhcaacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thườnchạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave m bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọđầ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 truacutemở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircnnghệ 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ểnkhai ứ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ệthoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việcgiữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tố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ớimạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoạ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 lagravemcho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết ch

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 vagraveMicrosoft Windows

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 872

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ốngTDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hthống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thovoip 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 972

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ệ đithoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAXMGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như TE1 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 DynamiModule Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutecformat codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kếtnạp vagraveo hệ thống

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1072

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ẵnsagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo

hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconfChứ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 nhaucoacute 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 giaotiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kế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 khaacutecnhau như G711 GMS G729hellip

Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầumố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ư SIIAX 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

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 772

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 ngoagraveimục điacutech hỗ trợ cho cocircng ty của migravenh trong việc liecircn lạc đagravem thoại hỗ trợ cộnđồng người sử dụng vagrave phaacutet triển Linux

Asterisk lagrave mộtPBXvagrave nhiều hơn thế Asterisk lagrave một phần mềm mang tiacutenhcaacutech mạng tin cậy matilde nguồn mở vagrave miễn phiacute magrave biến một PC rẻ tiền thocircng thườnchạy Linux thagravenh một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk lagrave m bộ cocircng cụ matilde nguồn mở cho caacutec ứng dụng thoại vagrave lagrave một server xử lyacute cuộc gọđầ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 truacutemở Nhiều hệ thống Asterisk đatilde được cagravei đặt thagravenh cocircng trecircn khắp thế giới Cocircnnghệ 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ểnkhai ứ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ệthoại vigrave caacutec cocircng ty đều coacute mạng maacutey tiacutenh vagrave cần liecircn lạc với nhau trong cocircng việcgiữa caacutec phograveng ban hoặc chi nhaacutenh vagrave cần một chi phiacute thấp thậm chiacute khocircng phải tố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ớimạng PSTN hoặc mạng VOIP (như voice777) cho pheacutep gọi ra bất cứ số điện thoạ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 lagravemcho khả năng ứng dụng của Asterisk linh hoạt hơn đaacutep ứng nhu cầu cần thiết ch

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 vagraveMicrosoft Windows

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 872

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ốngTDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hthống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thovoip 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 972

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ệ đithoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAXMGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như TE1 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 DynamiModule Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutecformat codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kếtnạp vagraveo hệ thống

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1072

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ẵnsagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo

hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconfChứ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 nhaucoacute 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 giaotiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kế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 khaacutecnhau như G711 GMS G729hellip

Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầumố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ư SIIAX 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

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 872

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ốngTDM vừa lagrave chguyển mạch voip Higravenh trecircn cũng cho thấy khả năng giao tiếp của hthống Giao tiếp với điện thoại analog thocircng thường giao tiếp với thiết bị điện thovoip 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 972

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ệ đithoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAXMGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như TE1 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 DynamiModule Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutecformat codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kếtnạp vagraveo hệ thống

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1072

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ẵnsagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo

hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconfChứ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 nhaucoacute 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 giaotiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kế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 khaacutecnhau như G711 GMS G729hellip

Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầumố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ư SIIAX 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

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 972

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ệ đithoại vagrave ứng dụng điện thoại cocircng nghệ điện thoại cho VOIP như SIP H323 IAXMGCP caacutec cocircng nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như TE1 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 DynamiModule Loader thực hiện nạp driver của thiết bị nạp caacutec kecircnh giao tiếp caacutecformat codec vagrave caacutec ứng dụng liecircn quan đồng thời caacutec hagravem API cũng được liecircn kếtnạp vagraveo hệ thống

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1072

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ẵnsagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo

hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconfChứ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 nhaucoacute 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 giaotiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kế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 khaacutecnhau như G711 GMS G729hellip

Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầumố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ư SIIAX 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

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1072

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ẵnsagraveng hoạt động chuyển mạch cuộc gọi caacutec cuộc gọi được chuyển mạch tuỳ vagraveo

hoạch quay số (Dialplan) được thực hiện cấu higravenh trong file extensionconfChứ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 nhaucoacute 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 giaotiếp như SIP Zaptel IAX Necircn hệ thống Asterisk phải đảm traacutech nhiệm vụ liecircn kế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 khaacutecnhau như G711 GMS G729hellip

Asterisk Channel API Giao tiếp với caacutec kecircnh liecircn lạc khaacutec nhau đacircy lagrave đầumố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ư SIIAX 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

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1172

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 cả caacutec tiacutenh năng trecircn thật sự lagrave thaacutech thức đối với chuacuteng ta Trong phần nagraveychuacuteng 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ề

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ỗmaacutey điện thoại được khai baacuteo trong hệ thống Asterisk cho pheacutep khai baacuteo thecircm chứ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ệ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 ccaacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1272

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ậnchuyể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

thời gian định trước3 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 xaacuteclagrave 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ậncuộ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ệthoại đến một cơ quan hay xiacute nghiệp thuecirc bao thường nghe thocircng điệp nhưldquoXinchagraveo 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ậthelliprdquosau đ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ố biết tỉ giaacute Đocircla hiện nay như thế nagraveo hay kết quả sổ số hellip tất caacutec những monmuố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 hmột chức năng cụ thể khaacutec viacute dụ trong cocircng ty giaacutem đốc muốn chỉ cho pheacutep nhacircnviecircn sử dụng maacutey điện thoại trong giờ hagravenh chaacutenh cograven ngoagravei giờ thigrave sẽ hạn chế hakhocircng cho pheacutep gọi ra becircn ngoagravei

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1372

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1472

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 sdụng dưới dacircy lagrave những ngữ cảnh ứng dụng thường được sử dụng trong thực

triển khai hệ thống asterisk1 Tổng đagravei voip IP PBX

IP BPX

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1572

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 nhucầ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ố

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ả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 bacircygiờ cần trang bị thecircm để đaacutep ứng nhu cầu liecircn lạc trong cocircng ty sao cho với chi phthấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1672

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ạnPSTN 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 vtrị địa lyacute khaacutec nhau nhằm giảm chi phiacute đường dagravei Viacute dụ Cocircng ty Mẹ coacute trụ sở đặtại nước Mỹ vagrave caacutec Chi nhaacutenh đặt tại Việt Nam với caacutec địa điểm Thagravenh phố Hồ ChMinh vagrave Hagrave Nội Thocircng qua mạng WAN của Cocircng Ty caacutec cuộc gọi nội bộ giữa caacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1772

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 khocircncho 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ươ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 v19001260 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 Cograve

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1872

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ệ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ảnhổi từ phiacutea khaacutech hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 1972

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 th11 gọi đến thigrave hệ thống giải quyết như thế nagraveo Bigravenh thường thigrave sẽ nghe tiacuten hiệ

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 dasterisk cung cấp trong luacutec nagravey nếu 1 trong mười số điện thoại trở về trạng thaacutei rthigrave cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 ha116 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ốnasterisk cung cấp những kiến thức nền tảng những khaacutei niệm cần thiết để thiếttriể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ốngtổng đagravei nội bộ được đặt tại nhagrave thuecirc bao từ Automatic ở đacircy muốn noacutei đến lagrave hthố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 ngoagraveithocircng qua một vagravei đường trung kế hay noacutei một caacutech khaacutec PBX lagrave hệ thống trungchuyển giữa caacutec đường dacircy điện thoại becircn ngoagravei từ cocircng ty điện thoại vagrave maacutey điệthoại nội bộ trong tổng đagravei PBX Vigrave thế necircn số lượng maacutey điện thoại nội bộ luocircnhiều hơn số đường dacircy nối đến PBX từ becircn ngoagravei

wwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2072

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 vvới caacutec maacutey điện thoại becircn ngoagravei thocircng qua đường trung kế Đồng thời thực hiệ

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ệnthoại từ cocircng ty điện thoại kết nối đến khocircng thể thực hiện được caacutec tiacutenh năng ntươ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 coacutethecircm 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ạisử dụng giao thức mạng IP trecircn cơ sở hạ tầng sẵn coacute của mạng internet Voip lagrave mtrong những cocircng nghệ viễn thocircng đang được quan tacircm nhất hiện nay khocircng chỉ đố

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 kecircn

truyền thống (PSTN) đồng thời truyền dữ liệu trecircn cơ sở mạng truyền dữ liệu Dcaacutec ưu điểm về giaacute thagravenh dịch vụ vagrave sự tiacutech hợp nhiều loại higravenh dịch vụ necircn voihiệ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ủaVoIP 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 nhcaacutec goacutei nếu cần vagrave truyền goacutei tin nagravey qua mạng tới nơi nhận caacutec goacutei tin nagravey đượ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 n ban đầu

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2172

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ạchkecircnh vagrave chuyển mạch goacutei Trong mỗi loại chuyển mạch đều coacute ưu nhược điể

riecircng của noacute Trong kỹ thuật chuyển mạch kecircnh giagravenh riecircng cho một kecircnh truyềngiữa hai thiết bị đầu cuối thocircng qua caacutec node chuyển mạch trung gian Trongchuyển mạch kecircnh tốc độ truyền dẫn luocircn luocircn cố định(nghĩa lagrave băng thocircng khocircnđổi) với mạng điện thoại PSTN tốc độ nagravey lagrave 64kbps truyền dẫn trong chuyể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 gtin 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ểmạch goacutei phải chịu độ trễ lớn vigrave trong chuyển mạch goacutei khocircng quy định thời giancho 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 dliệ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

chuyển mạch trecircn thigrave trong voip kết hợp sử dụng cả hai loại chuyển mạch kecircnh vchuyể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ạngkế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ạnhchuyển thoại trecircn đoacute Chuyển mạch mạch muốn thực hiện cuộc gọi giữa hai thu bao thigrave hệ thống phải giagravenh riecircng một kecircnh truyền 64kbps để chuyển tải tiacuten hiệthoại trecircn đoacute Cograven cuộc gọi điện thoại trecircn mạng Internet thigrave tiacuten hiệu thoại đượđoacuteng goacutei vagrave chuyển đi trecircn cugraveng kecircnh truyền với nhiều dịch vụ khaacutec Vigrave lẽ đoacute chấlượng cuộc gọi trecircn mạng PSTN bao giờ cũng tốt hơn trecircn mạng Internet nhưng đổ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2272

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 nhắc kỹ khi sử dụng

PSTN được phaacutet triển trecircn chuẩn ITU(International TelecommunicationUnion) cograven mạng Internet được phaacutet triển trecircn chuẩn IETF(Internet EngineeringTask Force) cả hai mạng trecircn đều sử dụng địa chỉ để định tuyến cuộc gọi PSTN sdụng caacutec con số điện thoại để chuyển mạch cuộc gọi giữa caacutec tổng đagravei điện thotrong khi đoacute trecircn mạng Internet địa chỉ IP sẽ được sử dụng để định tuyến caacutec goacutethoạ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 đồngthời trecircn một đường truyền TDM được sử dụng chuyển thoại trong hệ thống mạPSTN Coacute hai chuẩn gheacutep kecircnh TDM cơ bản lagrave E1 với 30 kecircnh thoại trecircn mộtkhung tốc độ 2Mbps vagrave T1 với 24 kecircnh thoại tốc độ 15Mbps

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2372

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 đếnnhư dograveng chuocircng tiacuten hiệu nhấc gaacutec maacutey tiacuten hiệu mời quay số gửi vagrave nhận tiacuten hiệthoạihellip FXO giống như maacutey Fax hay modem dial-up 56k vậy Dugraveng để kết nối vớ

đường dacircy điện thoại

FXS (Foreign Exchange Station) lagrave thiết bị tại nơi cung cấp đường dacircy điệnthoại thiết bị FXS sẽ cung cấp tiacuten hiệu mời quay số(dialtone) dograveng chuocircng hồi acircmchuocircng(ring tone) Trong đường dacircy Analog FXS cung cấp dograveng chuocircng vagrave điện aacutepcho điện thoại hoạt động viacute dụ FXS cung cấp điện aacutep -48VDC đến maacutey điện tho

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2472

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 aacuteprung 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ị FXOvừa lagrave thiết bị FXS(Giống bộ ATA) FXO để kết nối với đường dacircy điện thoại cograveFXS dugraveng để kết nối với maacutey điện thoại analog thocircng thường dugraveng để chuyển mạcuộc gọi TDM qua hệ thống asterisk(Xem thecircm trong phần cấu higravenh cho kecircnhTDM)

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) PBXkế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

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2572

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ố kh

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ạ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 trađổ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

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ữhệ thống Asterisk vagrave đường dacircy điện thoại khaacutec nhau thigrave dẫn đến Asterisk sẽ khocircnnhận biết được tiacuten hiệu gaacutec maacutey điều nagravey sẽ lagravem cho asterisk khocircng baacuteo giờ giải tỏđượ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ốn 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ồ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 cthể 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 IETFcung 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ộ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2672

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 đế 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ố tiacutehiệ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ộgọi nhưng trong giao thức SIP cograven coacute chức năng Proxy để linh hoạt hơn trong thiế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 đư 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 thocircnqua 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 vagravethoạ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ọ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2772

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 goacutedữ 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 RTPMạ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ỉ ICocircng cộng để kết nối với thế giới becircn ngoagravei NAT dugraveng để chia sẻ nhiều maacutey tiacutentrong mạng LAN nội bộ sử dụng được Internet nhưng cũng chiacutenh vigrave thế magrave caacutec maacutetiacutenh nội bộ gặp khoacute khăn trong việc thực hiện cuộc gọi VoIP qua Internet Đoacute chiacutenhlagrave 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ệthoại từ becircn ngoagravei vagraveo becircn trong qua giao thức RTP khocircng thực hiện được cograven chiềungượ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2872

Taacutec Giả Lecirc Quốc Toagraven

28

Internet đagravem thoại vagraveo caacutec maacutey nội bộ qua NAT thigrave khocircng nghe được cograven trongtrườ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ềmAsterisk để khắc phục những hạn chế trong giao thức SIP Khocircng giống như giathức SIP chuyển tải thoại vagrave baacuteo hiệu trecircn hai kecircnh khaacutec nhau (out of band) IAXchuyển tải thoại vagrave baacuteo hiệu trecircn cugraveng một kecircnh(in band) IAX giải quyết được vấđề NAT đề cập trecircn phần giao thức SIP Mặc khaacutec IAX lagrave giao thức tối ưu trongviệc sử dụng băng thocircng cho pheacutep nhiều goacutei dữ liệu thoại trecircn cugraveng một IP headecơ 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 thtớ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 tTocirci 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ứ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 Tocircchỉ 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ề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ớinhiề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ế

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 2972

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ảntrecircn dưới 100$ một caacutei

Higravenh Maacutey Điện Thoại VoIP

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3072

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ốn

như thiết bị điện thoại Voip cần lưu yacute khi sử dụng softphone lagrave maacutey tiacutenh phải ccard 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 vthự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ươthiacutech Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chiacutenh taacutec giả lập cocircng

Digium phacircn phối đacircy cũng chiacutenh lagrave yacute tưởng lớn trong việc phacircn phối phần mềmAsterisk 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 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3172

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 VoIPmộ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 analo

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ị ATAthay 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3272

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 đượcsử dụng để chuyển đổi caacutec tiacuten hiệu thoại dạng Analog sang tiacuten hiệu số vagrave ngược lạ

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 coacutenhững ưu điểm riecircng đặc biệt lagrave việc tối ưu sử dụng băng thocircng trecircn đường truyề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 nhvagrave 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

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 caacuteyếu ảnh hưởng đến chất lượng tiacuten hiệu thoại

1 Độ trễ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3372

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ố ảnhhưởng rất lớn đến chất lượng dịch vụ Trễ được định nghĩa lagrave khoảng thời gian tiacute

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ố khocircnthể traacutenh khỏi độ trễ đối với mạng điện thoại truyền thống (mạng PSTN) khoảng50ms đến 70ms theo khiến nghị của ITU-T để đảm bảo chất lượng cho hệ thốVoIP thigrave độ trễ từ đầu phaacutet tới đầu thu hoặc ngược lại khocircng được vượt quaacute 150mkhi 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 noacuteihellip2 Độ 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ườđến điacutech với những khoảng trễ khaacutec nhau Đacircy lagrave tiacutenh khocircng đồng nhất của trễ Mnguyecircn nhacircn khaacutec của trượt đối với ứng dụng PC to PC lagrave do việc sử dụng hệ điề

hagravenh phi thời gian thực caacutec goacutei tin thoại phải đợi hệ điều hagravenh xử lyacute trong nhữnkhoảng thời gian khaacutec nhau khi magrave hệ điều hagravenh đang phải xử lyacute đối với caacutec ứndụng khaacutec

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3472

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 t(Jitter Buffer) tại nơi đến của caacutec goacutei tin caacutec goacutei tin đến với caacutec khoảng caacutech khaacutecnhau về thời gian được lưu tại bộ đệm rồi phaacutet khỏi bộ đệm với khoảng trễ n

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3572

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ấcagraveng lớn tuy nhiecircn việc sử dụng bộ đệm sẽ gacircy ra hiện tượng trễ trong ứng dụnthoạ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ấtlượ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 trecircnmaacutey tiacutenh của migravenh Coacute thể cagravei hệ điều hagravenh Linux Fedora CentOS Redhat hoặcDebian Caacutec goacutei phần mềm phụ thuộc phải coacute trong hệ điều hagravenh Linux trước khcagravei Asterisk bao gồm

bison

gcc

kernel-source

libtermcap-devel

ncurses-devel

openssl096b

openssl-devel

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3672

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ềmasterisk với phiecircn bản mới nhất

cd usrsrc

wgetftpftpdigiumcompubasteriskasterisk-140targz

wgetftpftpdigiumcompubasteriskasterisk-addons-140targz

wgetftpftpdigiumcompubasteriskasterisk-sounds-140targz

wgethttpftpdigiumcompubzaptelzaptel-140targz

wgethttpftpdigiumcompublibprilibpri-140targz

Việc download coacute thể nhanh hay chậm tugravey vagraveo tốc độ trecircn đường internet saukhi 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 goacuteildquoaddonsrdquo được biecircn dịch đuacuteng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3772

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 goacuteizaptel 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 để cagraveđặ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 khicagravei đặ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 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ế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ầcứng hay khocircng

Để Asterisk coacute thể chạy cugraveng với khởi động của maacutey tiacutenh chuacuteng ta cần thựchiện lệnh

make config

Lệnh nagravey sẽ tạo ra script chegraven module zaptel vagraveo kernel vagrave chạy ztconfig vagraveoluacutec 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 3972

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 mAsterisk dưới bản quyền GPL Trixbox bao gồm những thagravenh phần chiacutenh cho việcấu higravenh ứng dụng thống kecirc tigravenh trạng hoạt động hệ thống lưu trữ dự phograveng v

nhacircn lagrave hệ điều hagravenh CentOS một phiecircn bản khaacutec của Redhat tất cả kết hợp vớnhau tạo thagravenh một goacutei hoagraven chỉnh Khi cagravei goacutei nagravey vagraveo maacutey tiacutenh thigrave coacute thể sử dụngnhư 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ạitrả 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 độngcủ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4072

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 TRIXBOXcung 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ỉ downloadhttpsourceforgenetprojectsasteriskathome

Khi download xong file Trixboxiso Hatildey dugraveng file nagravey Burn vagraveo CD ( xinlưu yacute lagrave dugraveng Nero hoặc chương trigravenh cheacutep đĩa ưa thiacutech rồi burn vagraveo cd_romchứ 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 cagraveđặ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 hatildeynhập địa chỉ IP tĩnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4172

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 chuacutengta vagraveo một magravey khaacutec vagrave mở Internet Explorer hoặc một trigravenh duyệt web bất kỳ

nhập vagraveohttp19216801đatilde cấu higravenh ở trecircn vagrave tiến hagravenh cấu higravenh hệ thốngvớ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ạnkhaacutec nhau của hệ thống như nghi nhận bản tin thoại caacutec bản tin nhắc thoại hoặcaacutec tập tin cấu higravenh Phần nagravey sẽ trigravenh bagravey caacutec thư mục chiacutenh yếu được tạo ra tronquaacute 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ốngAsterisk ngoại trừ tập tin Zaptelconf được đặt tại thư mục etc Phần cứnZaptel đầu tiecircn được phaacutet triển bởi Jim Dixon thuộc nhoacutem Zapata Telephony

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4272

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ằmtrong 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 codeccaacutec định dạng acircm thanh(format) vagrave caacutec kecircnh thocircng tin(channel) Theo mặc địnhAsterisk 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 tinmodulesconf Lưu yacute khi khocircng cho nạp module thigrave phải biết chắc module đoacutekhocircng 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 tinastdb định vị thocircng tin cơ sở dữ liệu của Asterisk giống như Microsoft WindowsRegistry

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ộtsố cocircng việc của Asterisk từ becircn ngoagravei

firmware

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4372

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 giaothức IAX

images

Caacutec ứng dụng thocircng tin với caacutec kecircnh hỗ trợ ảnh images thigrave sử dụng thư mụcnagravey Nhưng hiện tại caacutec kecircnh thocircng tin hầu như khocircng hỗ trợ truyền ảnh images necircthư mục nagravey cũng hiếm khi được sử dụng Tuy nhiecircn nếu caacutec thiết bị coacute hỗ trợ ththư 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ốgiữa caacutec server Asterisk thocircng qua chữ kyacute điện tử RSA Nếu đặt một khoaacute publicvagraveo thư mục keys thigrave kết nối của server đầu becircn kia coacute thể được xaacutec minh bằn

kecircnh thocircng tin coacute hỗ trợ đối với Asterisk thigrave kecircnh giao thức IAX hỗ trợ loại xaacutecminh 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 Chai 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 độngsẽ thực hiện lấy caacutec tập tin mp3 tại thư mục mohmp3 Tập tin định dạng theo chucủa Asterisk necircn khi sử dụng caacutec file Mp3 thocircng thường cần coacute sự chuyển đổi thiacutechợp trước khi cheacutep vagraveo thư mục trecircn để sử dụng

sounds

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4472

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4572

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 khocircnxả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 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ụ

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 tra một thư mục con tương ứng cho maacutey nội bộ đoacute tại thư mục voicemail

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4672

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 hagravethư 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 haycograven 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 etcasterisk7 varlogasteriskcdr-csv

Thư mục varlogasteriskcdr-csv được sử dụng để lưu chi tiết cuộc gọi CDRThocircng tin mặc định về chi tiết thocircng tin cuộc gọi lưu trữ trong tập tin MasterCVSnhưng thường thigrave ứng với mỗi matilde accountcode sẽ tạo một thư mục riecircng để lưu ctiế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 songsong nhau

Asterisk Server bigravenh thường chạy ở chế độ nền(background) giống caacutec sevicestrong window

Asterisk Client ở chế độ dograveng lệnh CLI giao tiếp với Asterisk Server thực thicaacutec 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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4772

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ắ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 vagravechannels của SIP hoặc IAX2

CLIgt sip show users

CLIgt sip show peers

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4872

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ốngAsterisk cagravei đặt xong mới lagrave bước mở đầu để cho hệ thống Asterisk hoạt động vtừng ứng dụng cụ thể chuacuteng sẽ tiếp tục thực hiện caacutec giai đoạn được xem lagrave qutrọng nhất trong việc triển khai hệ thống Asterisk đoacute lagrave giai đoạn cấu higravenh hệ thốnlecircn 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 thelagrave 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 thống đến với từng ứng dụng cụ thể Trong chương nagravey xin giới thiệu caacutei nhigraven đầ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ệ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 4972

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 thoạ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 etcasterisngoại trừ file zaptelconf cấu higravenh cho phần cứng TDM nằm tại thư mục etc caacutecthứ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 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 gaacutencaacutec đối tượng sau đacircy lagrave một viacute dụ cho file cấu higravenh

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5072

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ểukhaacutec 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=1Channel=gt1

C o m p l e xEntity

Mỗi entity nhậnmột ngữ cảnh

sipconf

iaxconf

[cisco]

Type=friend

Secret=12345

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5172

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 fileextentionconf meetmeconf voicemailconf tương ứng với mỗi dograveng khai baacuteo lagravemộ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 caacutectoaacuten 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 zapataconfagentconf với kiểu cấu higravenh nagravey thigrave caacutec dograveng phiacutea dưới coacute thể thừa kế caacutec thocircng sdograveng phiacutea trecircn tương ứng với mỗi section caacutec dograveng phiacutea dưới coacute thể thay đổi caacutecthocircng số cho tươngứng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5272

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 thocircngsố ở phiacutea trecircn đoacute lagrave op1=bas vagrave op2=adv trong khi đoacute đối với object1=gt2 với thocircngsố op1=int được khai baacuteo lại necircn object1=gt2 được thừa kế từ hai thocircng số op1=invagrave 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ềthocircng số được khai baacuteo mỗi entity ở đacircy chiacutenh lagrave caacutec section để khai baacuteo caacutec kecircnhthocircng tin Cấu higravenh thường được sử dụng trong caacutec file iaxconf sipconf

Viacute dụ

Extentionconf

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5372

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 choentity2

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 Cnhiề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ấhigravenh cho card zapata TDM01B của digium (card nagravey hiện nay giaacute baacuten khoảng175$)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5472

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ổngPCI coacute tương thiacutech để gắn vagraveo hay khocircng Sau khi hoagraven tất hatildey bật maacutey tiacutenh trở lạ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 etcvagrave file zapataconf tại thư mục etcasterisk cấu higravenh trongfile 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ấhigravenh một caacutech chi tiết nếu muốn tham khảo thecircm kỹ hơn xin mời xem chươngCấu Higravenh Kết Nối Với Mạng PSTN

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5572

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 lvề sau bằng lệnh

cp etczaptelconf etczaptelconfold

cp etcasteriskzapataconf etcasteriskzapataconfold

etczaptelconf

fxsks=1

loadzone=us

defaultzone=uschannels=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 cardhoạt động như sau

Modprode zaptel

Modprode wcfxo

Ztcfg ndashvvvvv

Asterisk -vvvvvgc

5 Cấu higravenh Điện thoại IP SIP phone

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5672

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 IPSIP phone để coacute thocircng tin chi tiết hơn xin mời tham khảo chươngCấ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ấuhigravenh 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ể manggiaacute 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 nagraveyngoại trừ phần dưới file cấu higravenh coacute khai baacuteo ngữ cảnh khaacutec

BindportCổng SIP UDP magrave client cần kết nối đến

MaxexpireyThời gian tối đa để đăng kyacute đơn vị tiacutenh bằng giacircy

DefaultexpireyThờ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ụ

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5772

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 nagraveyngoạ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

TypeKiể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 giaacutetrị lagrave ldquodynamicrdquo cho tất cả client kết nối đến

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5872

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 5972

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 đ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ệcchuacuteng 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ệ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 higravenhdialplan coacute những khaacutei niệm cần nắm đoacute lagrave

ExtentionsĐiện thoại nội bộ

PrioritiesThứ tự thực hiện

ApplicationsCaacutec ứng dụng

ContextsCaacutec ngữ cảnh

Ở đacircy chỉ đề cập đến những khaacutei niệm cơ bản để hiểu sacircu hơn về dialplan xmời tham khảo hai chương Dialplan Trước khi cấu higravenh hatildey lưu lại tập tinextentionconf 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ớ

extention nagraveo thigrave ứng dụng cho cuộc gọi đoacute sẽ được thực hiện extention coacute thể đơgiản với một điacutech danh cụ thể như 8051 letoan hay lagrave một chuỗi so mẫu được thựhiện như _9xxx

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6072

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ệnthoại magrave thuecirc bao quay hay lagrave extention cograven caacutec con số 1 vagrave 2 lagrave caacutec priorites tứclagrave thứ tự thực hiện caacutec lệnh Khi thuecirc bao quay số 8051 thigrave đỗ chuocircng maacutey ip sip8051 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 coacutecuộc gọi vagraveo extension chiacutenh lagrave con số magrave thuecirc bao đoacute cần gọi Trong mỗi ngữ cảnh

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6172

Taacutec Giả Lecirc Quốc Toagraven

61

sẽ coacute thể coacute nhiều extension Extenstion chiacutenh lagrave hạt nhacircn để hệ thống xaacutec địnhcuộ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 lagraveldquopriorityrdquo)

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 rungchuocircng tối đa 20 giacircy Nếu sau 20 giacircy khocircng trả lời thigrave cuộc gọi sẽ được địnhhướng đến hộp thư thoại u7325010 chữ u ở đacircy coacute nghĩa lagrave ldquo unavailablemessagerdquo

2 Priorities ndash Thứ tự thực hiện

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6272

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6372

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 trungvagraveo lĩnh vực viễn thocircng magrave thocirci Như vậy ngữ cảnh (context) đatilde được giới hạtrong một tigravenh huống cụ thể đối với Asterisk ở đacircy cũng thế khi noacutei đến ngữ cản(context) thigrave thường quan tacircm đến trường hợp cụ thể nagraveo đoacute điều nagravey rotilde ragraveng rằntrong 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ư sauldquoChagraveo mừng caacutec Bạn gọi đến cocircng ty chuacuteng tocirci hatildey nhấn phiacutem 1 để gặp phograveng kindoanh phiacutem 2 gặp phograveng kỹ thuậthelliprdquo khi người gọi chọn phiacutem 1 thigrave hệ thống schuyển đến một ngữ cảnh (context) lagrave [PhongKinhDoanh] khi người gọi nhấn phiacutem2 thigrave hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] nhvậy ứng với mỗi trường hợp hệ thống sẽ coacute ngữ cảnh khaacutec nhau ngữ cảnh đượctrong 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ệxử lyacute caacutec cuộc gọi tương ứng với kecircnh đoacute qua kế hoạch diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6472

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6572

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ấcmaacutey 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ố maacutey8052 sẽ rung chuocircng trong vograveng 20 giacircy nếu qua 20 giacircy magrave thuecirc bao 8052 khocircngnhấ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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6672

Taacutec Giả Lecirc Quốc Toagraven

66

+ Hai maacutey tiacutenh client cagravei đặt hai softphone X-lite nối mạng với maacutey tiacutenhserver 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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6772

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

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6872

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 softphone8052

8 Tạo diaplan

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 6972

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ệncaacutec cuộc gọi với nhau thigrave chuacuteng ta tiến hagravenh thực hiện dialplan việc nagravey được cấ

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 1thự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 2hệ thống sẽ phaacutet ra thocircng điệp thoại từ file acircm thanh

helloworldgsm

Cuối cugraveng Priority 3kế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 khicon số được quay của thuecirc bao đến hệ thống asterisk lagrave khocircng biết trước (viacute dụ ccuộc gọi vagraveo từ giao tiếp FXO)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7072

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 thusẵn Khi ứng dụng playback() thực thi thigrave tất cả caacutec con số được gửi đến từ điệthoại ấn phiacutem đều bị loại bỏ cuacute phaacutep playback(Tenfile) Tecircn file coacute thể lagrave dạnggsm 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 ứndụ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ậncon số từ phiacutem nhấn của maacutey điện thoại sau khi nhận con số từ phiacutem nhấn maacuteđiện thoại asterisk sẽ ngắt phaacutet thocircng điệp vagrave xử lyacute chuyển đến số thứ tự prioritươ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)

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7172

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 phograveng ban cần liecircn lạc Thocircng điệp ldquoChagraveo mừng gọi đến cocircng ty ABC của chuacuteng tocircmời nhấn phiacutem 1 để chuyển đến phograveng Kỹ thuật phiacutem 2 đến phograveng hagravenh chaacutenh v phiacutem 3 đến phograveng tiếp thị baacuten hagravengrdquo sau khi người gọi nhấn phiacutem tương ứng vớ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ụndial() chuacuteng ta cải thiện đoạn dialplan trecircn thay vigrave chuyển đến ngữ cảnh tương ứnthigrave 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ệquay số SIP8051 cho phograveng kỹ thuật iax28000 cho phograveng Hagravenh Chaacutenh vagrave gọi đếnzap1 cho phograveng tiếp thị baacuten hagraveng

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet

882019 Sach Asterisk Tieng net

httpslidepdfcomreaderfullsach-asterisk-tieng-net 7272

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)

wwwdientuvienthongucoznet


Recommended