1. Trang chủ
  2. » Luận Văn - Báo Cáo

TỔNG ĐÀI DỊCH VỤ VOIP

102 269 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 102
Dung lượng 3,59 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TÓM TẮT LUẬN VĂN Luận văn trình bày các công việc để xây dựng một hệ thống tổng đài dịch vụVoIP cơ bản cho doanh nghiệp và cơ sở lý thuyết có liên quan. Nội dung luận văn được trình bày trong 6 chương với nội dung chính của từng chương được mô tả cụ thể như sau: Chương 1: Tổng quan về VoIP. Chương này sẽ trình bày tổng quan về công nghệ VoIP, các đặc tính, các thành phần và giao thức sử dụng trong mạng VoIP. Chương 2: Giới thiệu về Asterisk. Chương này sẽ trình bày về kiến trúc, mô hình và các dịch vụ cơ bản của phần mềm Asterisk. Chương 3: Mô hình triển khai và thực hiện các dịch vụ cơ bản. Chương này đưa ra mô hình triển khai tổng đài dịch vụ VoIP trên nền Asterisk, cách kết nốicác thành phần và thiết lập các dịch vụ cơ bản của một tổng đài dịch vụ VoIP. Chương 4: Xây dựng giao diện quản trị. Chương này trình bày việc thiết lập giao diện quản trị cũng như hướng dẫn cách quản lý và thiết lập cho tổng đài qua giao diện này. Chương 5: Xây dựng dịch vụ quà tặng âm nhạc. Chương này sẽ trình bày các bước để xây dựng dịch vụ quà tặng âm nhạc. Chương 6: Kết luận và hướng phát triên đề tài. Chương này nhóm sẽ trình bàylại các kết quả đạt được của đề tài. Các công việc mà nhóm đã thực hiện cũng như đưa ra hướng phát triển cho đề tài.

Trang 1

ÐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ÐẠI HỌC BÁCH KHOA KHOA ÐIỆN – ÐIỆN TỬ

BỘ MÔN VIỄN THÔNG

LUẬN VĂN TỐT NGHIỆP

TỔNG ĐÀI DỊCH VỤ VOIP

- Tp Hồ Chí Minh, Tháng 12-20

Trang 2

i

Trang 3

ii

LỜI CẢM ƠN

Lời đầu tiên, sinh viên muốn gửi lời cảm ơn chân thành đến giáo viêntrong thời gian vừa qua, đã hướng dẫn và giúp đỡ sinh viên trong quá trình thực hiện đồ án Những lời nhận xét, góp ý và hướng dẫn của giáo viên đã giúp sinh viên có một định hướng đúng trong quá trình thực hiện đề tài, giúp sinh viên nhìn ra được ưu khuyết điểm của đề tài và từng bước khắc phục để ngày một tốt hơn

Đồng thời sinh viên cũng muốn gửi lời cảm ơn sâu sắc đến gia đình và bạn bè đã động viên và cổ vũ tinh thần sinh viên trong suốt quãng thời gian học tập, đặc biệt

là bố mẹ sinh viên, người đã chăm lo và hi sinh rất nhiều cho sinh viên để sinh viên

có thể chuyên tâm học tập

Bên cạnh đó, sinh viên muốn nói lời cảm ơn đến những giáo viên đã đứng trên bục giảng truyền đạt kinh nghiệm, kiến thức cho sinh viên trong suốt 4 năm đại học vừa qua

Một lần nữa, sinh viên xin gửi lời cảm ơn chân thành và sâu sắc đến bố mẹ, thầy cô

và bạn bè, những người luôn ở cạnh động viên, giúp đỡ và cổ vũ tinh thần cho sinh viên

Hồ Chí Minh, ngày 11 tháng 12 năm 2013

Trang 4

iii

TÓM TẮT LUẬN VĂN

Luận văn trình bày các công việc để xây dựng một hệ thống tổng đài dịch vụ VoIP cơ bản cho doanh nghiệp và cơ sở lý thuyết có liên quan Nội dung luận văn được trình bày trong 6 chương với nội dung chính của từng chương được

mô tả cụ thể như sau:

Chương 1: Tổng quan về VoIP Chương này sẽ trình bày tổng quan về công

nghệ VoIP, các đặc tính, các thành phần và giao thức sử dụng trong mạng VoIP

Chương 2: Giới thiệu về Asterisk Chương này sẽ trình bày về kiến trúc, mô

hình và các dịch vụ cơ bản của phần mềm Asterisk

Chương 3: Mô hình triển khai và thực hiện các dịch vụ cơ bản Chương này

đưa ra mô hình triển khai tổng đài dịch vụ VoIP trên nền Asterisk, cách kết nối các thành phần và thiết lập các dịch vụ cơ bản của một tổng đài dịch vụ VoIP

Chương 4: Xây dựng giao diện quản trị Chương này trình bày việc thiết lập

giao diện quản trị cũng như hướng dẫn cách quản lý và thiết lập cho tổng đài qua giao diện này

Chương 5: Xây dựng dịch vụ quà tặng âm nhạc Chương này sẽ trình bày các

bước để xây dựng dịch vụ quà tặng âm nhạc

Chương 6: Kết luận và hướng phát triên đề tài Chương này nhóm sẽ trình bày

lại các kết quả đạt được của đề tài Các công việc mà nhóm đã thực hiện cũng như đưa ra hướng phát triển cho đề tài.

Nhóm sinh viên thực hiện

Trang 5

iv

MỤC LỤC

TÓM TẮT LUẬN VĂN iii

Chương 1 2

TỔNG QUAN VỀ VOIP 2

1.1 Khái niệm 2

1.2 Các thành phần cơ bản trong mạng VoIP 2

1.3 Các hình thức truyền thoại qua IP 2

1.4 Các giao thức của VoIP 2

1.5 Đặc tính của VoIP 2

1.1 Khái niệm 3

1.2 Các thành phần cơ bản trong mạng VoIP 3

1.3 Các hình thức truyền thoại qua IP 4

1.3.1 Mô hình PC to PC 4

1.3.2 Mô hình PC to Phone 5

1.3.3 Mô hình phone to phone 5

1.4 Các giao thức của VoIP 6

1.4.1 Giao thức H.323 6

1.4.2 Giao thức SIP 8

1.4.3 Giao thức IAX (Inter Asterisk eXchange) 12

1.5 Đặc tính của VoIP 13

1.5.1 Ưu điểm 13

1.5.2 Nhược điểm 13

Chương 2 14

GIỚI THIỆU VỀ ASTERISK 14

2.1 Giới thiệu 15

2.2 Kiến trúc hệ thống Asterisk 16

2.3 Các mô hình ứng dụng của Asterisk 17

2.3.1 Tổng đài VoIP IP PBX 18

2.3.2 Kết nối IP PBX với PBX 19

2.3.3 Kết nối giữa các server Asterisk 20

2.3.4 Các ứng dụng IVR, VoiceMail, Conference Call 21

2.3.5 Chức năng phân phối cuộc gọi tự động ACD 22

2.4 Các dịch vụ cơ bản của Asterisk 22

2.4.1 Voicemail 22

Trang 6

v

2.4.3 Caller ID 23

2.4.4 Interactive Voice Response 23

2.4.5 Time and Date 23

2.4.6 Call Parking 24

2.4.7 Remote call pickup 24

2.4.8 Privacy Manager 24

2.4.9 Backlist 24

2.5 File cấu hình 24

2.5.1 Giới thiệu 24

2.5.2 Channel interfaces 25

2.6 Dial Plan 25

2.6.1 Contexts 26

2.6.2 Extension 26

2.6.3 Priorities 27

2.6.4 Applications 27

2.7 Tiện ích Dial Out 28

2.8 AGI 29

2.8.1 Tổng quan về AGI 29

2.8.2 Nguyên tắc hoạt động của AGI 30

2.9 Asterisk Realtime Architecture 31

Chương 3 34

MÔ HÌNH TRIỂN KHAI VÀ THỰC HIỆN CÁC DỊCH VỤ CƠ BẢN 34

3.1 Mô hình triển khai hệ thống Asterisk 35

3.2 Thiết lập cấu hình cơ bản cho hệ thống 36

3.2.1 Lắp đặt card TDM400P và cấu hình 36

3.2.2 Thiết lập cuộc gọi qua internet 39

3.2.3 Cấu hình các kênh SIP cho softphone 42

3.2.4 Cấu hình cho softphone 43

3.3 Xây dựng dialplan để thực hiện các thao tác gọi cơ bản 46

3.3.1 Xây dựng dialplan 46

3.3.2 Thực hiện cuộc gọi giữa 2 softphone 47

3.3.3 Thực hiện cuộc gọi giữa softphone với analog phone 49

3.4 Thiết lập các dịch vụ cơ bản 49

3.4.1 Video Call 49

Trang 7

vi

3.4.2 Voicemail 50

3.4.3 Call Transfer 51

3.4.4 Call Pickup 51

3.4.5 Call Parking 52

3.4.6 Meetme (Conference) 53

3.4.7 DND (Do not Disturb) 53

3.4.8 Call Forward 54

3.4.9 Dịch vụ IVR 57

Chương 4 58

XÂY DỰNG GIAO DIỆN QUẢN TRỊ 58

4.1 Giải pháp tổng quan 59

4.2 Thiết lập và kết nối cơ sở dữ liệu cho server Asterisk 59

4.2.1 Cài đặt và cấu hình MySQL trên CentOS 59

4.2.2 Cài đặt và cấu hình ODBC 60

4.2.3 Quản lý cơ sở dữ liệu 63

4.3 Thiết lập Asterisk Realtime 63

4.3.1 Thiết lập các file cấu hình 63

4.3.2 Xây dựng cơ sở dữ liệu cho Asterisk Realtime 64

4.4 Thiết lập cho các dịch vụ người dùng 68

4.4.1 Xây dựng cơ sở dữ liệu cho các dịch vụ 68

4.4.2 Thiết lập fund_odbc 69

4.5 Xây dựng giao diện quản trị nền Web cho tổng đài 69

4.5.1 Trang login 70

4.5.2 Trang chủ 71

4.5.3 Các tính năng 72

Chương 5 80

XÂY DỰNG DỊCH VỤ QUÀ TẶNG ÂM NHẠC 80

5.1 Kịch bản hệ thống 81

5.1.1 Kịch bản cho người tặng 81

5.1.2 Kịch bản cho người được tặng 81

5.2 Xây dựng cơ sở dữ liệu của dịch vụ quà tặng âm nhạc 81

5.3 Viết AGI thực hiện dịch vụ 82

5.4 Thiết lập Dialplan 84

5.5 Xây dựng giao diện Web tra cứu bài hát 85

Chương 6 88

Trang 8

vii

6.1 Kết luận 896.2 Hướng phát triển 90

TÀI LIỆU THAM KHẢO 91

Trang 9

viii

DANH SÁCH HÌNH VẼ

Hình 1 Các thành phần trong mạng VoIP 4

Hình 2 Mô hình PC to PC 5

Hình 3 Mô hình PC to Phone 5

Hình 4 Mô hình Phone to Phone 5

Hình 5 Các thành phần của H.323 7

Hình 6 Tiến hành cuộc gọi trong H.323 7

Hình 7 Các thành phần trong SIP 8

Hình 8 Hoạt động của Proxy Server 10

Hình 9 Tiến trình cuộc gọi qua Proxy Server 11

Hình 10 Hoạt động của Redirect Server 11

Hình 11 Tiến trình cuộc gọi qua Redirect Server 12

Hình 12 Sơ đồ giao tiếp tổng quát 15

Hình 13 Sơ đồ khối của Asterisk 16

Hình 14 IP PBX 18

Hình 15 Kết nối IP PBX với PBX 19

Hình 16 Kết nối giữa các server Asterisk 20

Hình 17 Triển khai server IVR, Voicemail, Conference 21

Hình 18 Phân phối cuộc gọi với hàng đợi 22

Hình 19 Sơ đồ giao tiếp của AGI 30

Hình 23 Mô hình triển khai hệ thống 35

Hình 24 Card TDM400P 37

Hình 25 Đăng kí tên miền cho server 40

Hình 26 Giao diện NAT port trên router 41

Hình 27 Thiết lập STUN trên softphone 42

Hình 28 Giao diện softphone Linphone 44

Hình 29 Cấu hình cho Linphone 44

Hình 30 Cấu hình cho Linphone 45

Hình 31 Cấu hình cho Linphone 45

Hình 32 Cấu hình cho Linphone 46

Hình 33 Thực hiện cuộc gọi giữa 2 softphone 47

Hình 34 Thực hiện cuộc gọi giữa 2 softphone 48

Hình 35 Video Call 49

Trang 10

ix

Hình 42 Giao diện đăng nhập phpMyAdmin 64

Hình 43 Trang chủ phpMyAdmin 65

Hình 44 Cơ sở dữ liệu cho Asterisk Realtime Architecture 69

Hình 45 Cấu trúc trang Web quản trị 70

Hình 46 Thư mục gốc của trang Web 70

Hình 47 Giao diện login trang quản trị 71

Hình 48 Trang chủ 72

Hình 49 Trang quản lý User 73

Hình 50 Trang khai báo User 74

Hình 51 Trang quản lý Service 75

Hình 52 Trang Block Outbound Call 76

Hình 53 Trang quản lý Voicemail 77

Hình 54 Trang thiết lập Voicemail 78

Hình 55 Trang khai báo Conference Room 79

Hình 36 Cơ sở dữ liệu của dịch vụ quà tặng âm nhạc 82

Hình 37 Sơ đồ giải thuật 83

Hình 38 Form tìm kiếm bài hát 86

Hình 39 Giao diện trang tìm kiếm 86

Hình 40 Kết quả tìm kiếm 87

Trang 11

x

DANH MỤC TỪ VIẾT TẮT

ACD: Automatic Call Distribution

API: Application Program Interface

ATA: Analog Telephone Adaptor

DND: Do Not Disturb

DTMF: Dual Tone Multi Frequency

FXO: Foreign Exchange Office

FXS: Foreign Exchange Station

IAX: Inter Asterisk eXchange

ICMP: Internet Control Message Protocol

IETF: Internet Engineering Task Force

IP: Internet Protocol

ISDN: Intergrated Services Digital Network

ITU-T: International Telecommunications Union Telecommunication IVR: Interactive voice response

LAN: Local Area Network

MCU: Multiple Control Unit

NAT: Network Address Translator

PBX: Private Branch eXchange

PSTN: Public Switched Telephone Network

QoS: Quality of Service

RTP: Real Time Protocol

SIP: Session Initation Protocol

UAC: User Agent Client

UAS: User Agent Server

UDP: User Data Protocol

VoIP: Voice over Internet Protocol

WAN: Wide Area Network

Trang 12

Phần I

CƠ SỞ LÝ THUYẾT

Chương 1: Tổng quan về VoIP

Chương 2: Giới thiệu về Asterisk

Trang 13

Chương 1

TỔNG QUAN VỀ VOIP

Nội dung chính

Trang 14

1.1 Khái niệm

VoIP (Voice over Internet Protocol) là một công nghệ cho phép truyền thoại sử dụng giao thức mạng IP, trên cơ sở hạ tầng sẵn có của mạng internet Voip là một trong những công nghệ viễn thông đang được quan tâm nhất hiện nay không chỉ đối với nhà khai thác, các nhà sản xuất mà còn cả với người sử dụng dịch vụ

VoIP có thể vừa thực hiện mọi loại cuộc gọi như trên mạng điện thoại kênh truyền thống (PSTN) đồng thời truyền dữ liệu trên cơ sở mạng truyền dữ liệu Do các ưu điểm về giá thành dịch vụ và

sự tích hợp nhiều loại hình dịch vụ nên voip hiện nay được triển khai một các rộng rãi

Dịch vụ điện thoại voip là dịch vụ ứng dụng giao thức IP, nguyên tắc của VoIP bao gồm việc số hoá tín hiệu tiếng nói, thực hiện việc nén tín hiệu số, chia nhỏ các gói nếu cần và truyền gói tin này qua mạng, tới nơi nhận các gói tin này được ráp lại theo đúng thứ tự của bản tin, giải mã tín hiệu tương tự phục hồi lại tiếng nói ban đầu

Các cuộc gọi trong VoIP dựa trên cơ sở sử dụng kết hợp cả chuyển mạch kênh và chuyển mạch gói Trong mỗi loại chuyển mạch đều có ưu, nhược điểm riêng của nó Trong kỹ thuật chuyển mạch kênh giành riêng cho một kênh truyền giữa hai thiết bị đầu cuối thông qua các node chuyển mạch trung gian Trong chuyển mạch kênh tốc độ truyền dẫn luôn luôn cố định (nghĩa là băng thông không đổi), với mạng điện thoại PSTN tốc độ này là 64kbps, truyền dẫn trong chuyển mạch kênh có độ trễ nhỏ

Trong chuyển mạch gói các bản tin được chia thành các gói nhỏ gọi là các gói, nguyên tắc hoạt động của nó là sử dụng hệ thống lưu trữ và chuyển tiếp các gói tin trong nút mạng Đối với chuyển mạch gói không tồn tại khái niệm kênh riêng, băng thông không cố định có nghĩa là có thể thay đổi tốc độ truyền, kỹ thuật chuyển mạch gói phải chịu độ trễ lớn vì trong chuyển mạch gói không quy định thời gian cho mỗi gói dữ liệu tới đích, mỗi gói có thể đi bằng nhiều con đường khác nhau để tới đích, chuyển mạch gói thích hợp cho việc truyền dữ liệu vì trong mạng truyền dữ liệu không đòi hỏi về thời gian thực như thoại, để sử dụng ưu điểm của mỗi loại chuyển mạch trên thì trong voip kết hợp sử dụng cả hai loại chuyển mạch kênh và chuyển mạch gói

1.2 Các thành phần cơ bản trong mạng VoIP

Một mạng VoIP có thể bao gồm các phần tử sau:

Mạng truy nhập IP: là các loại mạng dữ liệu sử dụng giao thức TCP/IP, phổ biến nhất là

Internet

Thiết bị đầu cuối kết nối với mạng IP:

Softphone: là một phần mềm được cài đặt trên máy tính cá nhân PC hoặc Laptop được

kết nối Internet Máy tính cài softphone phải được trang bị card âm thanh, headphone Các phần mềm softphone miễn phí phổ biến như Linphone, X-lite…

Điện thoại thông thường analog phone được gắn với Analog Telephone Adaptor (ATA): để sử dụng được trong mạng VoIP thì các điện thoại thông thường phải được gắn

với ATA để có thể kết nối với VoIP Server ATA gồm có hai loại port: RJ-11 để kết nối với điện thoại analog thông thường còn RJ-45 để kết nối với mạng VoIP

Trang 15

CHƯƠNG 1: TỔNG QUAN VỀ VOIP

IP phone: là các điện thoại dùng riêng cho mạng VoIP Các IP phone có thể kết nối trực

tiếp với VoIP server mà không cần thông qua Adaptor và cần phải thực hiện cấu hình trước khi sử dụng

VoIP server: là các máy chủ trung tâm có chức năng định tuyến và bảo mật cho các cuộc gọi

VoIP

Card giao tiếp với PSTN: Muốn cho phép các máy điện thoại nội bộ trong hệ thống Asterisk

kết nối và thực hiện cuộc gọi với mạng PSTN chúng ta cần sử dụng card TDM Thiết bị này sử dụng cho hệ thống Asterisk do chính công ty Digium phân phối bao gồm port FXS và FXO

Trang 16

Hình 2 Mô hình PC to PC

1.3.2 Mô hình PC to Phone

Mô hình PC to Phone là một mô hình được cải tiến hơn so với mô hình PC to PC Mô hình này cho phép người sử dụng máy tính có thể thực hiện cuộc gọi đến mạng PSTN thông thường và ngược lại Trong mô hình này mạng Internet và mạng PSTN có thể giao tiếp với nhau nhơ một thiết bị đặc biệt đó là Gateway Đây là mô hình cơ sở để dẫn tới việc kết hợp giữa mạng Internet

và mạng PSTN cũng như các mạng GSM hay đa dịch vụ khác

Hình 3 Mô hình PC to Phone

1.3.3 Mô hình phone to phone

Đây là mô hình mở rộng của mô hình PC to Phone sử dụng Internet làm phương tiện liên lac giữa các mạng PSTN Tất cả các mạng PSTN đều kết nối với mạng Internet thông qua các gateway Khi tiến hành cuộc gọi mạng PSTN sẽ kết nối đến gateway gần nhất Tại gateway địa chỉ sẽ được chuyển đổi từ địa chỉ PSTN sang địa chỉ IP để có thể định tuyến các gói tin đến được mạng đích Đồng thời gateway nguồn có nhiệm vụ chuyển đổi tín hiệu thoại tương tự thành dạng

số sau đó mã hoá, nén, đóng gói và gửi qua mạng Mạng đích cũng được kết nối với gateway và tại gateway đích, địa chỉ lại được chuyển đổi trở lại thành địa chỉ PSTN và tín hiệu được giải nén, giải mã chuyển đổi ngược lại thành tín hiệu tương tự gửi vào mạng PSTN đến đích

Hình 4 Mô hình Phone to Phone

Trang 17

CHƯƠNG 1: TỔNG QUAN VỀ VOIP

1.4 Các giao thức của VoIP

VoIP cần 2 loại giao thức: Signaling protocol và Media protocol

Signaling protocol: là giao thức báo hiệu chịu trách nhiệm thiết lập, duy trì và kết nối

cuộc gọi Một số signaling protocol thông dụng bao gồm: H.323, MGCP, SIP, IAX…

Media Protocol: là giao thức truyền thông chịu trách nhiệm điều khiển việc truyền tải dữ

liệu voice qua môi trường mạng IP Có các media protocol như: RTP (Real-Time Protocol), RTCP (RTP Control Protocol), SRTP (Secure Real-Time Transport Protocol) và SRTCP (Secure RTCP)

1.4.1 Giao thức H.323

H.323 là một khuyến nghị của ITU-T xác định phương thức luồng multimedia được truyền qua mạng chuyển mạch gói H.323 sử dụng lại một số chuẩn sẵn có (ví dụ như Q.931) để đạt được mục đích này Trong giao thức H.323, việc truyền các luồng voice chỉ là một trong các ứng dụng của nó và tphaafn chính của giao thức chính là việc chia sẻ dữ liệu và video

Các thành phần của H.323:

Terminal: là các đầu cuối trong mạng, có thể là điện thoại IP hoặc các PC cài

softphone…

Gateway: thực hiện chuyển đổi giữa các định dạng audio, video và dữ liệu Nó đồng thời

thực hiện việc thiết lập và hủy bỏ cuộc gọi trong mạng IP và mạng chuyển mạch

Gatekeeper: cung cấp việc điều khiển cấp độ cuộc gọi đến các đầu cuối của H.323

MCU: hỗ trợ hội nghị với 3 hay nhiều đầu cuối H.323

Trang 18

Hình 5 Các thành phần của H.323

Tiến hành cuộc gọi trong H.323

Hình 6 Tiến hành cuộc gọi trong H.323

Cuộc gọi được tiến hành theo các bước:

Trang 19

CHƯƠNG 1: TỔNG QUAN VỀ VOIP

 Gateway gởi một thông điệp ARQ đến gatekeeper để bắt đầu quá trình gọi Gateway này được cấu hình với vùng miền và địa chi của gatekeeper

 Gatekeeper trả lời đáp ứng thông điệp ARQ vừa gởi bằng thông điệp ACF

 Khi đầu cuối muốn gọi nhận diện được đầu cuối cần gọi, nó sẽ bắt đầu thiết lập cuộc gọi căn bản

 Trước khi đầu cuối được gọi đồng ý nhận cuộc gọi đến nó gởi thông điệp ARQ đến gatekeeper

để nhận được quyền cho phép

1.4.2 Giao thức SIP

1.4.2.1 Giới thiệu

SIP (Session Initiation Protocol) được phát triển bởi IETF (Internet Engineering Task Force) là giao thức thuộc lớp ứng dụng dùng để thiết lập, duy trì và kết thúc các phiên truyền thông đa phương tiện như thoại IP, conference và các ứng dụng khác bao gồm cả âm thanh, hình ảnh và

Các điểm đầu cuối và server trong hệ thống SIP được gọi là các node Một SIP phone được coi

là một node Các SIP phone có thể giao tiếp trực tiếp với nhau để thiết lập phiên truyền thông Tuy nhiên điều này ít khi diễn ra, đặc biệt là trong môi trường doanh nghiệp, SIP được sử dụng với một SIP server Các SIP phone thường thông báo cho máy chủ để tiến hành đăng kí mỗi khi khởi động

Trang 20

Hai thành phần cơ bản trong hệ thống SIP bao gồm tác nhân người sử dụng (User Agent)

và các máy chủ phục vụ mạng (Network Server) Bên chủ gọi và bên nhận cuộc gọi được nhận dạng bằng các địa chỉ SIP

a) User Agent

Là một ứng dụng để khởi tạo, nhận và kết thúc cuộc gọi:

 Client (UAC): Khởi tạo các yêu cầu SIP, đóng vai trò như tác nhân chủ gọi

 Server (UAS): Nhận các yêu cầu và gửi trả các đáp ứng, đóng vai trò như tác nhân bị gọi

b) Network Server

Proxy Server: tiếp nhận và xử lý khi có các yêu cầu từ bên ngoài vào mạng, đại diện cho

các thuê bao trong mạng, có thể sửa đổi nội dung trước khi chuyển đi

Location Server: định vị thuê bao và cung cấp thông tin cho proxy server hoặc redirect

server

Redirect Server: là server nhận các yêu cầu SIP, xử lý để xác định server chuyển hướng

và gửi trả lại cho client để tự gửi yêu cầu Redirect Server không tạo và gửi yêu cầu SIP của riêng nó

Registrar Server: tiếp nhận và xử lý các yêu cầu REGISTER, thực hiện nhận thực thuê

bao

1.4.2.3 Các bản tin SIP và phản hồi

Các bản tin trong SIP được chia thành nhiều loại, mỗi loại thực hiện một chức năng khác nhau:

1xx Informational (e.g 100 Trying, 180 Ringing)

2xx Successful (e.g 200 OK, 202 Accepted)

Trang 21

CHƯƠNG 1: TỔNG QUAN VỀ VOIP

3xx Redirection (e.g 302 Moved Temporarily)

4xx Request Failure (e.g 404 Not Found, 482 Loop Detected)

5xx Server Failure (e.g 501 Not Implemented)

6xx Global Failure (e.g 603 Decline)

1.4.2.4 Quá trình thiết lập cuộc gọi theo giao thức SIP

a) Theo kiểu Proxy Server

Hình 8 Hoạt động của Proxy Server

(1) Client gửi bản tin INVITE chứa thông tin về bên bị gọi tới Proxy Server

(2) Proxy server xác định vị trí của bên bị gọi bằng cách sử dụng các địa chỉ được cung cấp trong bản tin INVITE và location server

(3) Location Server gửi trả lại Proxy Server thông tin đã yêu cầu

(4) Proxy server gửi yêu cầu INVITE tới địa chỉ mà nó vừa xác định được

(5) Bên bị gọi (server) đáp ứng lại bằng bản tin thành công 200 OK

(6) Proxy server lại đáp ứng lại bên Client bằng bản tin 200 OK

(7)(8) Client xác nhận bằng bản tin ACK Bản tin này được gửi qua Proxy server hoặc được gửi trực tiếp tới bên bị gọi

Trang 22

Hình 9 Tiến trình cuộc gọi qua Proxy Server

b) Theo kiểu Redirect Server

Hình 10 Hoạt động của Redirect Server

(1) Client gửi bản tin INVITE chứa thông tin về bên bị gọi tới Redirect Server

(2 Redirect Server xác định vị trí của bên bị gọi bằng cách sử dụng các địa chỉ được cung cấp trong bản tin INVITE và location server

Trang 23

CHƯƠNG 1: TỔNG QUAN VỀ VOIP

(3) Location Server gửi trả lại Proxy Server thông tin đã yêu cầu

(4) Sau khi đã xác định được vị trí của thuê bao thì Redirect server gửi trực tiếp địa chỉ vừa nhận được cho phía Client

(5) Client gửi bản tin ACK tới Redirect server để hoàn tất phiên giao dịch

(6) Client gửi trực tiếp yêu cầu INVITE tới bên bị gọi

(7)(8) Bên bị gọi đáp ứng bằng bản tin 200 OK và bên chủ gọi xác nhận bằng bản tin ACK

Hình 11 Tiến trình cuộc gọi qua Redirect Server

1.4.3 Giao thức IAX (Inter Asterisk eXchange)

IAX là giao thức báo hiệu VoIP được phát triển bởi tác giả của phần mềm Asterisk để khắc phục những hạn chế trong giao thức SIP Không giống như giao thức SIP chuyển tải thoại và báo hiệu trên hai kênh khác nhau (out of band), IAX chuyển tải thoại và báo hiệu trên cùng một kênh (in band) IAX giải quyết được vấn đề của SIP khi thực hiện cuộc gọi với máy client nằm sau NAT Mặt khác, IAX là giao thức tối ưu trong việc sử dụng băng thông, cho phép nhiều gói dữ liệu thoại trên cuungf một IP header, cơ chế chuyển tải nhiều cuộc gọi trên cùng một gói IP được gọi

là trung kế (Trunk)

IAX là giao thức giành riêng cho VoIP với nhiều ưu điểm như:

 Tối thiểu việc sử dụng băng thông

 Trong suốt với NAT

 Hiệu quả với cơ chế trung kế

Trang 24

1.5 Đặc tính của VoIP

1.5.1 Ưu điểm

Tối ưu hóa hiệu suất sử dụng băng thông: Trong PSTN, băng thông cung cấp cho một cuộc

gọi là cố định Trong VoIP, băng thông được cung cấp một cách linh hoạt và mềm dẻo hơn nhiều

Giá thành thấp: tổng đài VoIP có thể tận dụng đường truyền internet để truyền thoại đồng thời

vẫn có thể tương thích với hệ thống tổng đài nội bộ sẵn, đồng thời cước phí thoại được tính như cước internet thông thường, từ đó giảm chi phí cho doanh nghiệp

Tính thống nhất: Hệ thống VoIP có thể tích hợp cả mạng thoại , mạng số liệu và mạng báo

hiệu Các tín hiệu thoại, dữ liệu, báo hiệu có thể cùng đi trên một mạng IP Việc này sẽ giảm đáng kể chi phí đầu tư

Khả năng cung cấp đa dạng các dịch vụ: Tính linh hoạt của mạng IP cho phép tạo ra nhiều

tinh năng mới trong dịch vụ thoại Đồng thời tính mềm dẻo còn tạo khả năng mở rộng mạng và

các dịch vụ

1.5.2 Nhược điểm

Chất lượng dịch vụ chưa cao: Các mạng số liệu vốn dĩ không phải xây dựng với mục đích

truyền thoại thời gian thực, vì vậy khi truyền thoại qua mạng số liệu cho chất lượng cuộc gọi không được đảm báo trong trường hợp mạng xảy ra tắc nghẽn hoặc có độ trễ lớn Tính thời gian thực của tín hiệu thoại đòi hỏi chất lượng truyền dữ liệu cao và ổn định Một yếu tố làm giảm chất lượng thoại nữa là kỹ thuật nén để tiết kiệm đường truyền Nếu nén xuống dung lượng càng thấp thì kỹ thuật nén càng phức tạp, cho chất lượng không cao và đặc biệt là thời gian xử lý sẽ lâu, gây trễ

Độ trễ do truyền dẫn gây ra tiếng vọng: Nếu như trong mạng thoại, độ trễ thấp nên tiếng vọng

không ảnh hưởng nhiều thì trong mạng IP, do trễ lớn nên tiếng vọng ảnh hưởng nhiều đến chất lượng thoại

Vấn đề bảo mật: trong VoIP, do dữ liệu thoại được truyền trên mạng IP có tính rộng khắp, do đó

chịu nhiều sự tấn công từ nhiều nguồn phá hoại khác nhau Mạng VoIP còn nhiều kẽ hở mà người triển khai cần quan tâm và khắc phục

Trang 25

Chương 2

GIỚI THIỆU VỀ ASTERISK

Trang 26

2.1 Giới thiệu

Asterisk là phần mềm nguồn mở, được viết bằng ngôn ngữ C, ra đời năm 1999 bởi Mark Spencer, đầu tiên được thiết kế và triển khai trên GNU/Linux nền x86 (của Intel) Nhưng hiện nay Asterisk có thể chạy trên các hệ điều hành khác như: Mac OS X, FreeBSD, OpenBSD và Microsoft Windowns

Asterisk được xem như là một tổng đài PBX (Private Branch eXchange) và được thêm nhiều tính năng mới Ngoài những tính năng của một tổng đài PBX thông thường, Asterisk còn được tích hợp cả chuyển mạch TDM và chuyển mạch VoIP, có khả năng mở rộng đáp ứng nhu cầu cho từng ứng dung như mở rộng giao tiếp với mạng PSTN (Public Switched Telephone Network) Với một máy tính rẻ tiền đã cài hệ điều hành (một trong các hệ điều hành nói trên, ở đây ta thiên

về hệ điều hành Microsoft Windowns) và có thêm phần mềm Asterisk đã cấu hình, khi đó máy tính này sẽ có đầy đủ tính năng của một tổng đài điện thoại và có thể hơn thế

Asterisk là một phần mềm nguồn mở, miễn phí, có độ tin cậy cao nên được xem là phần mềm mang tính cách mạng

Bởi những tiện ích: hệ thống và giá cước rẻ, dễ sử dụng, đầy đủ các tính năng của một tổng đài

và con hơn thế nên đã có nhiều hệ thống Asterisk được cài đặt thành công trên thế giới Hiện nay

hệ thống Asterisk đang được phát triển mạnh, nhiều doanh nghiệp, công ty đã và đang triển khai

hệ thống tạo liên lạc bên trong và ra cả mạng ngoài thông qua mạng máy tính, gọi điện thoại

Hình 12 Sơ đồ giao tiếp tổng quát

Trang 27

CHƯƠNG 2: GIỚI THIỆU VỀ ASTERISK

Asterisk không chỉ giao tiếp, kết nối giữa các điện thoại với nhau mà còn có thể mở rộng kết nối đến các tổng đài khác, với IP Phone và nhiều dịch vụ như: Softswitch, Media Gateway, Voicemail Services, Conference Server, Music on hold…

2.2 Kiến trúc hệ thống Asterisk

Asterisk là thiết bị trung gian dùng để liên kết công nghệ điện thoại và Internet Asterisk được ứng dụng để kết nối điện thoại, đường dây điện thoại hoặc gói thoại đến một kết nối dịch vụ khác Asterisk có độ tin cậy cao và dễ dàng triển khai cho các hệ thống ( từ hệ thống nhỏ đến các

hệ thống lớn), Asterisk hỗ trợ ở mật độ cao và yêu cầu sự phức tạp

Asterisk hỗ trợ cho nhiều loại điện thoại có công nghệ khác nhau Các công nghệ điện thoại: VoIP, SIP, H.323, IAX và BGCP (dùng cho điện thoại đi quốc tế) Asterisk có thể kết nối với hầu hết loại điện thoại truyền thống mạng ISDN qua luồng T1 và E1 Các ứng dụng cho điện thoại: chuyển mạch cuộc gọi, cuộc gọi hội nghị, voicemail, chuyển hướng cuộc gọi, …

Một Asterisk server được kết nối tới một mạng vùng nội hạt sẽ điều khiển các điện thoại trong mạng kết nối đến mạng khác, các điện thoại trong mạng có thể thực hiện cuộc gọi và kết nối Internet thông qua Asterisk server

Cổng FXS dùng để Asterisk server điều khiển các điện thoại tương tự trong nội hat Cổng FXO

và kênh T được dùng để kết nối giữa Asterisk server với mạng PSTN Thuê bao trong mạng PSTN thực hiện cuộc gọi đến các thuê bao được quản lý bởi Asterisk server, các thuê bao của Asterisk cũng có thể thực hiện cuộc gọi đến thuê bao trong mạng PSTN

Hình 13 Sơ đồ khối của Asterisk

Một số chức năng của Ast eri sk trong hệ thống chuyển mạch cuộc gọi:

Trang 28

Khi khởi động hệ thống Asterisk thì Dynamic Module Loader thực hiện nạp driver của thiết

bị, nạp các kênh giao tiếp, định dạng file, thu thập thông tin đầu cuối, codec và các ứng dụng liên quan, đồng thời các hàm API cũng được liên kết nạp vào hệ thống

Hệ thống Asterisk PBX Switching Core chuyển sang trạng thái sẵn sàng thực hiện chuyển mạch cuộc gọi, các cuộc gọi được thực hiện tuỳ vào kế hoạch quay số (Dialplan)

Chức năng Application Launchar để rung chuông thuê bao, kết nối với hộp thư thoại hoặc gọi

ra đường trung kế…

Scheduler and I/O Manager đảm nhiệm các ứng dụng nâng cao như: lập thời biểu và quản lý các cuộc gọi đến – đi ra ngoài Đây là các chức năng được phát triển bởi cộng đồng phát triển asterisk Codec Translator xác nhận các kênh nén dữ liệu ứng với các chuẩn khác nhau có thể kết hợp liên lạc được với nhau

Tất cả các cuộc gọi định hướng qua hệ thống Asterisk đều thông qua các giao tiếp như: SIP, DAHDI or IAX Mọi cuộc gọi vào và ra ngoài đều được thực hiện thông qua các giao tiếp trên Vì thế hệ thống Asterisk phải đảm trách nhiệm vụ liên kết các giao tiếp khác nhau đó để xử

lý cuộc gọi

Chức năng của các giao tiếp chương trình ứng dụng (API: Application Program Interface):

Codec translator API: các hàm đảm nhiệm thực thi và giải nén các chuẩn khác nhau như:

GMS, G723, Mu-Law…

Asterisk Channel API: Giao tiếp với các kênh liên lạc khác nhau, đây là đầu mối cho

việc kết nối các cuộc gọi tương thích với nhiều chuần khác nhau như SIP, ISDN, H323, DAHDI…

Asterisk file format API: Asterisk tương thích với việc xử lý các loại file có định dạng

khác nhau như: Mp3, WAV, GSM, AU…

Asterisk Aplication API: Bao gồm tất cả các ứng dụng được thực thi trong hệ thống

Asterisk như: cuộc gọi hội nghị, VoiceMail, CallerID…

Ngoài ra, Asterisk còn có thư viện Asterisk Gateway Interface (AGI, tương tự như CGI) - cơ chế kích hoạt ứng dụng bên ngoài, cho phép viết kịch bản phức tạp với một số ngôn ngữ như PHP hay Perl

2.3 Các mô hình ứng dụng của Asterisk

Asterisk thực hiện rất nhiều ngữ cảnh ứng dụng khác nhau tuỳ vào nhu cầu sử dụng, dưới dây s ẽ

g i ớ i t h i ệ u m ộ t s ố ngữ cảnh ứng dụng thường được sử dụng trong thực tế và đã được triển khai trên hệ thống asterisk

Trang 29

CHƯƠNG 2: GIỚI THIỆU VỀ ASTERISK

2.3.1 Tổng đài VoIP IP PBX

Hình 14 IP PBX

Đây là hệ thống chuyển mạch VoIP được xây dựng phục vụ các công ty có nhu cầu thực hiện trên nền tảng mạng nội bộ đã triển khai Thay vì lắp đặt một hệ thống PBX cho nhu cầu liên lạc nội bộ thì nên lắp đặt hệ thống VoIP, vớ mô hình này chi phí phải trả sẽ được giảm đáng kể Hệ thống liên lạc với mạng PSTN qua giao tiếp TDM

Trang 30

2.3.2 Kết nối IP PBX với PBX

Hình 15 Kết nối IP PBX với PBX

Một ngữ cảnh đặt ra ở đây là hiện tại Công ty đã trang bị hệ thống PBX bây giờ cần trang bị thêm để đáp ứng nhu cầu liên lạc trong công ty sao cho với chi phí thấp nhất, giải pháp để thực hiện đó là trang bị hệ thống Asterisk và kết nối với hệ thống PBX đang tồn tại qua luồng E1 Ngoài ra để tăng khả năng liên lạc với mạng PSTN và VoIP khác, Công Ty sẽ đăng ký kết nối dịch vụ với nhà cung cấp dịch vụ VoIP

Trang 31

CHƯƠNG 2: GIỚI THIỆU VỀ ASTERISK

2.3.3 Kết nối giữa các server Asterisk

Hình 16 Kết nối giữa các server Asterisk

Phương pháp trên ứng dụng rất hiệu quả cho các công ty nằm rãi rác ở các vị trị địa lý khác nhau nhằm giảm chi phí đường dài Ví dụ Công ty Mẹ có trụ sở đặt tại nước Mỹ và có các Chi nhánh đặt tại Việt Nam với hai địa điểm là Hà Nội và thành phố Hồ Chí Minh Thông qua mạng WAN của Công Ty các cuộc gọi nội bộ giữa các vị trí khác nhau sẽ làm giảm chi phí đáng kể

Trang 32

2.3.4 Các ứng dụng IVR, VoiceMail, Conference Call

Hình 17 Triển khai server IVR, Voicemail, Conference

Ứng dụng thực hiện các server kết nối với hệ thống PSTN hay tổng đài PBX để triển khai các ứng dụng như tương tác thoại IVR Một ví dụ cho ứng dụng tương tác thoại đó là cho biết kết quả sổ số, kiểm tra cước cuộc, dịch vụ giải trí – tra cứu thông tin thông qua số 19001260 Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phía thuê bao giống như chức năng hộp thư thoại của Bưu Điện triển khai

Chức năng cuộc gọi hội nghị được thiết lập cho nhiều máy điện thoại cùng nói chuyện với nhau

Trang 33

CHƯƠNG 2: GIỚI THIỆU VỀ ASTERISK

2.3.5 Chức năng phân phối cuộc gọi tự động ACD

Hình 18 Phân phối cuộc gọi với hàng đợi

ACD (Automatic Call Distribution): Phân phối cuộc gọi tự động

Chức năng được ứng dụng cho nhu cầu chăm sóc khách hàng hay nhận phản hổi từ phía khách hàng

Giả sử một Công ty hệ thống điện thoại có khả năng tiếp nhận cùng một lúc 10 cuộc gọi, như thế nếu có thêm cuộc gọi thứ 11 gọi đến thì hệ thống giải quyết như thế nào? Bình thường thì sẽ nghe tín hiệu bận nhưng với chức năng phân phối cuộc gọi sẽ đưa thuê bao đó vào hàng đợi để chờ trả lời, trong khi chờ trả lời cuộc gọi thuê bao có thể nghe những bài hát hay do asterisk cung cấp và khi nào một trong mười số điện thoại đang gọi trở về trạng thái rỗi thì cuộc gọi đang chờ

sẽ được trả lời Giống như chức năng của dịch vụ: dịch vụ hỗ trợ thông tin 1080, dịch vụ hẹn giờ 116 của Bưu Điện, dịch vụ hỗ trợ khách hàng của các tổng đài điện thoại

2.4 Các dịch vụ cơ bản của Asterisk

2.4.1 Voicemail

Voicemail: hộp thư thoại với tính năng cho phép hệ thống nhận các thông điệp tin nhắn thoại, mỗi máy điện thoại được khai báo trong hệ thống Asterisk cho phép khai báo thêm chức năng hộp thư thoại Khi số điện thoại bị gọi bận hay ngoài vùng phủ sóng thì hệ thống asterisk định hướng trực tiếp cuộc gọi đến hộp thư thoại tương ứng đã khai báo trước

Voicemail cung cấp cho người sử dụng nhiều tính năng như: xác nhận password khi truy cập vào hộp thư thoại, gửi mail báo khi có thông điệp mới

Trang 34

2.4.2 Call Forwarding

Call Forwarding: chuyển hướng cuộc gọi

Khi bạn không ở nhà, hoặc đi công tác nhứng bạn không muốn bỏ lỡ tất cả các cuộc gọi đến thì tại sao lại không nghĩ đến việc chuyển cuộc gọi? Asterisk có tính năng chuyển hướng cuộc gọi để giúp bạn việc đó

Đây là tính năng thường được sử dụng trong hệ thống Asterisk Chức năng cho phép chuyển một cuộc gọi đến một hay nhiều số máy điện thoại được định trước

Một số trường hợp cần chuyển cuộc gọi như : Chuyển cuộc gọi khi bận, chuyển cuộc gọi khi không trả lời, chuyển cuộc gọi tức thời, chuyển cuộc gọi với thời gian định trước

2.4.3 Caller ID

Caller ID: cuộc gọi có hiển thị số

Với chức năng này thí số điện thoại của người gọi đến máy điện thoại của bạn sẽ được hiển thị, nhằm giúp bạn có thể biết được ai đang gọi tới

Ngoài ra Caller ID cũng cho phép chúng ta xác nhận số thuê bao gọi đến có nghĩa là dựa vào caller ID chúng ta có tiếp nhận hay không tiếp nhận cuộc gọi từ phía hệ thống Asterisk Ngăn một số cuộc gọi ngoài ý muốn

2.4.4 Interactive Voice Response

Interactive Voice Response (IVR) hay Automated Attendant (AA): đều được dùng để chỉ chức năng tương tác thoại (tổng đài trả lời tự động)

Chức năng tương tác thoại có rất nhiều ứng dụng trong thực tế, khi gọi điện thoại đến một cơ

quan hay xí nghiệp thuê bao thường đượ c nghe thông điệp như:“Xin chào mừng bạn đã gọi

đến công ty chúng XXX hãy nhấn phím 1 để gặp phòng kinh doanh, phím 2 gặp phòng kỹ thuật, phím 3 gặp phòng hỗ trợ khách hàng…” sau đó tuỳ vào sự tương tác của thuê bao gọi đến, hệ

thống Asteisk sẽ định hướng cuộc gọi theo mong muốn

Dịch vụ xem điểm thi, tiền cước điện thoại của thuê bao, tỉ giá t i ề n t ệ hiện nay như thế nào, hay kết quả sổ số, bản tin dự báo thời tiết… tất các những mong muốn trên đều có thể thực hiện qua chức năng tương tác thoại

2.4.5 Time and Date

Nhằm chỉ định các khoảng thời gian cụ thể cuộc gọi sẽ định hướng đến một số điện thoại hay một chức năng cụ thể khác, ví dụ trong công ty giám đốc muốn chỉ cho phép nhân viên sử dụng máy điện thoại trong giờ hành chánh còn ngoài giờ thì sẽ hạn chế hay không cho phép gọi ra bên ngoài

Trang 35

CHƯƠNG 2: GIỚI THIỆU VỀ ASTERISK

2.4.6 Call Parking

Chức năng Call Parking cũng thực hiện việc chuyển cuộc gọi nhưng có quản lý Có một số điện thoại trung gian và hai thuê bao có thể gặp nhau khi thuê bao được gọi nhấn vào số điện thoại mà thuê bao chủ gọi đang chờ trên đó và từ đây có thể gặp nhau và đàm thoại

2.4.7 Remote call pickup

Với tính năng này sẽ cho phép chúng ta từ máy điện thoại này có thể nhận cuộc gọi từ máy điện thoại khác đang rung chuông

2.4.8 Privacy Manager

Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại của công ty mình nhưng lại không muốn nhân viên trong công ty gọi đi ra ngoài trò chuyện với bạn bè, khi đó Asterisk cung cấp một tính năng tiện dụng là chỉ cho phép số điện thoại được lập trình được phép gọi đến những số máy cố định nào đó thôi, còn những số không có trong danh sách định sẵn

sẽ không thực hiện cuộc gọi được

2.4.9 Backlist

Backlist cũng giống như Privacy Manager nhưng có một sự khác biệt là những máy điện thoại nằm trong danh sách sẽ không gọi được đến máy của mình (sử dụng trong tình trạng hay bị quấy rối điện thoại)

Và còn rất nhiều tính năng nữa mà hệ thống asterisk có thể cung cấp cho người sử dụng, trên đây chỉ là một số tính năng thường được sử dụng

2.5 File cấu hình

2.5.1 Giới thiệu

Sự linh động của Asterisk được điều khiển thông qua các file cấu hình được chứa trong thư mục etc/asterisk ngọai trừ file system.conf cấu hình cho phần cứng TDM nằm tại thư mục /etc/dahdi

Định dạng của các file cấu hình trong Asterisk tương tự với dạng file ini (trong Window) File

này định dạng theo mã ASCII được chia ra thành nhiều phần (sections) Các nội dung sau dấu chấm phẩy là chú thích trong file cấu hình Các dòng trắng, khoảng trắng không có ý nghĩa trong file cấu hình Các phép gán được sử dụng: “=” dùng để gán các biến, “=>”để gán các đối tượng

;

; The first non-comment line in a config file

; must be a section title

;

[section1]

keyword = value ; Variable assignment

[section2]

Trang 36

keyword = value

object => value ; Object declaration

2.5.2 Channel interfaces

Phần này giới thiệu các file cấu hình cho các Asterisk channel drivers

Asterick có thể được cấu hình với nhiều mục đích khác nhau, nhưng mô hình thông thường nhất

là Client/Server Mô hình này cho phép các client – hay còn gọi là UAC – user agent client kết nối vào server là Asterisk – hay còn gọi là UAS – User Agent Server Các UAC là nơi sinh ra các session trong khi UAS thì xử lý thụ động các session nhận được dựa trên tập hợp rule có sẳn Phần IV sẽ đi rỏ hơn về các dạng ứng dụng này

Ta có thể cấu hình Asterisk trong console mode, hoặc có một cách tiện lợi hơn là edit trực tiếp các file cấu hình trong /etc/asterisk Mổi ứng dụng riêng của Asterisk như voicemail, zaptel, music-on-hold, meetme, conference, iax … đều có configuration riêng của mình, tuy nhiên có 2 file cấu hình quan trọng nhất là sip.conf và extension.conf:

Sip.conf : file cấu hình về các thông tin của các UAC như username, password, IP, type,

security, codec, là thành phần căn bản nhất lưu giử thông tin trong Asterisk

Extension.conf: file cấu hình về các luật định tuyến cuộc gọi, luật quay số, các extension

trong ngoài và những tính năng đặc biệt khác Extensions.conf là file quan trọng nhất trong bất kỳ cấu hình Asterisk nào

Các file cấu hình khác:

Voicemail.conf: file cấu hình cho hệ thống voice-mail của asterisk Asterisk có thể dùng

lệnh Sendmail trên CentOS để gởi mail đến cho các địa chỉ được lưu trong file cấu hình này

System.conf: file này nằm trong thư mục /etc/dahdi, là file chứa thông số index, driver

dành cho Linux khi kích hoạt các thiết bị Telephony cắm trực tiếp vào Asterisk thông qua cổng PCI

Chan_dahdi.conf: là file kết nối các thiết bị Telephony đã được khai báo vào hệ thống

Trang 37

CHƯƠNG 2: GIỚI THIỆU VỀ ASTERISK

Dialplan của Asterisk chỉ được đặc tả trong file cấu hình “extensions.conf” Dialplan được tạo thành từ 4 phần chính: contex, extensions, priorities và application Các thành phần này làm việc với nhau để tạo nên một dialplan

2.6.1 Contexts

Dialplan được chia thành các phần gọi là context Context tách biệt các nhóm thuê bao Nó giữ cho các thành phần khác nhau không tác động lẫn nhau, mỗi extension được định nghĩa trong 1 context hoàn toàn tách biệt với bất kì extension nào trong context khác, trừ khi việc tương tác giữa chúng được đặc biệt cho phép

Lấy một ví dụ đơn giản để dễ hiểu, giả sử 2 công ty cùng chia sẽ một Asterisk Server Khi đặt menu voice của mỗi công ty trong context của chính công ty đó, khi đó sẽ có sự cách biệt rõ ràng giữa chúng với nhau, khi cả hai cùng gọi extension 0 thì chuyện gọi này sẽ là độc lập giữa 2 công

ty, không có một sự liên hệ nào ở đây

Context được chỉ định bằng cách đặt tên của context đó vào trong dấu ngoặc vuông Tên của context có thể là kí tự từ a  z, 0 9, - và _ Ví dụ: [outcommingcall]

Tất cả các chỉ dẫn đặt sau đó là các phần của context đó cho tới khi context tiếp theo được định nghĩa Trong phần đầu của dialplan đó, có 2 context đặc biệt là [general] và [globals]

Một trong những công dụng quan trọng của context là thực thi bảo mật Bằng cách sử dụng context chính xác, có thể giúp cho caller A có thể truy cập vào các dịch vụ, đặc tính mà các caller khác không có Nếu hệ thống không được xây dựng một cách cẩn thận, nó có thể bị gian lân, sử dụng lậu bởi người khác Điều này là đặc biệt nghiêm trọng

Hệ thống Asterisk chứa file SECURITY rất quan trọng, nó phát thảo các bước thực hiện để giúp cho hệ thống chúng ta được an toàn Từ chối các cảnh báo này có thể “giúp” cho nhiều người có thể truy cập và gọi các cuộc gọi đường dài, mà chi phí là chúng ta phải chịu

2.6.2 Extension

Chúng ta cần xác định, định nghĩa một hoặc nhiều extension Một extension là một lệnh mà Asterisk phải theo, nó được kích bởi một cuộc gọi đến hay là một phím được nhấn trên kênh Extension đặc tả việc xử lý cuộc gọi khi nó đi xuyên qua dialplan

Cú pháp cho extension như sau:

exten => name,priority,application( )

Ví dụ:

exten => 123,1,Answer() Theo sau là tên của extension Trong hệ thống điện thoại, extension như là một số dùng để gọi Trong Asterisk, extension được tạo thành từ sự tổng hợp của các số và các kí tự Đây là đặc điểm giúp cho Asterisk hoạt động một cách mạnh mẽ và linh hoạt bởi hầu hết các giao thức VoIP đều hỗ trợ việc sử dụng tên, địa chỉ email thay vì sử dụng số

Trang 38

Unnumbered Priorities: Trong phiên bản Asterisk mới, có thể dùng ‘n’ thay cho số thứ tự để chỉ

độ ưu tiên kế tiếp Cách làm này rất thuận tiện, người viết không cần phải nhớ số thứ tự

2.6.4 Applications

Application (ứng dụng) gánh vác hầu như toàn bộ công việc của dialplan Mỗi ứng dụng thực hiện một hành động cụ thể trên kênh đang hoạt đông, như: nghe máy, gác máy, chơi nhạc, chấp nhận dial tone…

Trong vài ứng dung, như answer(), hangup(), không cần các lệnh khác để thực hiện Tuy nhiên, trong vài ứng dụng lại cần them các thông tin bổ xung Các phần thông tin thêm vào đó được gọi

là argument Argument được đặt trong dấu ngoặc đơn, các argument phân biệt với nhau bằng dấu phẩy

Một vài ứng dụng thường hay được sử dụng:

Trang 39

CHƯƠNG 2: GIỚI THIỆU VỀ ASTERISK

 Ứng dụng này cho phép user lắng nghe các tin nhắn thoại, cũng như ghi âm các lời chào, tên và thiết lập các tùy chọn cấu hình khác

Dial(technology/id,options,timeout)

 Đây là nơi chúng ta báo cho Asterisk biết để rung chuông một điện thoại khi nó được quay số Các tùy chọn bao gồm:

 t: cho phép user bị gọi chuyển cuộc gọi bằng cách nhấn phím #

 T: cho phép user gọi chuyển cuộc gọi bằng cách nhấn phím #

 r: rung chuông

 m: cung cấp nhạc chờ

 H: cho phép gác máy bằng cách nhấn phím

2.7 Tiện ích Dial Out

Để có thể thực hiện được việc gửi quà tặng trong tương lai, phải sử dụng đến một tiện ích gọi là Auto dial out trong Asterisk đó là asterisk call file

Asterisk call file là một cấu trúc file mà khi chuyển vào thư mục thích hợp, có thể tự động thực hiện các cuộc gọi sử dụng Asterisk Call file là cách tuyệt vời để thực hiện các cuộc gọi tự động

mà không cần sử dụng các tính năng phức tạp của Asterisk như AMI

Cách thức hoạt động của Call file:

 Di chuyển call file vào thư mục /var/spool/asterisk/outgoing/

 Trong file modules.conf đặt autoload=no để chắc chắn rằng file pbx_spool.so được load, ngược lại thì nó sẽ không hoạt động

 Nếu thay đổi thời gian call file trong tương lai, Asterisk sẽ chờ cho đến khi giờ hệ thống phù hợp với thời gian thay đổi ở lần trước đó để thực hiện call file

 Asterisk sẽ thông báo và ngay lập tức thự hiện các chỉ thị được xác định trong file call Điều này có thể bao gồm kết nối với một bối cảnh Asterisk dialplan, hoặc thực hiện một dialplan

 Sau đó asterisk sẽ gỡ bỏ call file ra khỏi thư mục /var/spool/asterisk/outgoing/

Cú pháp 1 call file:

Channel: kênh để sử dụng cho cuộc gọi

CallerID: Caller ID được gọi

MaxRetries: số lần thử gọi lại tối đa khi thất bại (không bao gồm cuộc gọi ban đầu, ví dụ

0 thì tổng số cuộc gọi thực hiện là 1) Mặc định là 0

RetryTime: thời gian(s) giữa hai lần thử Mặc định là 300 (5 phút)

WaitTime: thời gian (s) để đợi câu trả lời Mặc định là 45

Account: thiết lập các mã tài khoản để sử dụng.

Nếu cuộc gọi được trả lời, kết nối nó ở đây:

Trang 40

Context: bối cảnh trong extensions.conf

Extension: được định nghĩa trong extensions.conf

Priority: ưu tiên extension để bắt đầu

Set: Thiết lập một biến để sử dụng trong logic extension

Application: ứng dụng Asterisk để chạy (sử dụng thay vì xác định bối cảnh extension và

ưu tiên)

Data: Các tùy chọn dữ liệu cho ứng dụng.

Ví dụ: tạo 1 call file đơn giản

Hệ thống sẽ tự động kiểm tra liên tục tất cả các file call trong thư mục

/var/spool/asterisk/outgoing, nếu thời gian tạo ra file call bằng đúng thời gian hệ thống thì hệ

thống sẽ tự động gọi đến số điện thoại theo context được tạo trong file call

2.8 AGI

2.8.1 Tổng quan về AGI

AGI (asterisk gateway interface) cung cấp một giao diện chuẩn để các chương trình bên ngoài có thể điều khiển Asterisk thông qua cấu hình hệ thống dialplan Thông thường AGI scripts được sử dụng để thực hiện những logic bậc cao, giao tiếp với cơ sở dữ liệu quan hệ như PostgreSQL hay MySQL và truy cập những tài nguyên bên ngoài khác Thông qua sự điều khiển dialplan, AGI scripts cho phép Asterisk dễ dàng thực thi các nhiệm vụ mà ở một khía cạnh khác lại khó thực thi hoặc là không thể thực thi

AGI scripts có thể được viết vởi các ngôn ngữ lập trình hiện đại nhưng trong phạm vi của báo cáo sẽ chỉ tập trung vào việc trình kịch bản AGI thông qua ngôn ngữ PHP

Ba giao tiếp cơ bản của AGI và Asterisk là STDIN, STOUT, STDERR

Ngày đăng: 17/04/2015, 20:54

HÌNH ẢNH LIÊN QUAN

Hình 1 Các thành phần trong mạng VoIP - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 1 Các thành phần trong mạng VoIP (Trang 15)
Hình 6 Tiến hành cuộc gọi trong H.323 - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 6 Tiến hành cuộc gọi trong H.323 (Trang 18)
Hình 9 Tiến trình cuộc gọi qua Proxy Server - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 9 Tiến trình cuộc gọi qua Proxy Server (Trang 22)
Hình 11 Tiến trình cuộc gọi qua Redirect Server - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 11 Tiến trình cuộc gọi qua Redirect Server (Trang 23)
Hình 12 Sơ đồ giao tiếp tổng quát - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 12 Sơ đồ giao tiếp tổng quát (Trang 26)
Hình 13 Sơ đồ khối của Asterisk - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 13 Sơ đồ khối của Asterisk (Trang 27)
Hình 14 IP PBX - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 14 IP PBX (Trang 29)
Hình 15 Kết nối IP PBX với PBX - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 15 Kết nối IP PBX với PBX (Trang 30)
Hình 16 Kết nối giữa các server Asterisk - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 16 Kết nối giữa các server Asterisk (Trang 31)
Hình 17 Triển khai server IVR, Voicemail, Conference - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 17 Triển khai server IVR, Voicemail, Conference (Trang 32)
Hình 18 Phân phối cuộc gọi với hàng đợi - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 18 Phân phối cuộc gọi với hàng đợi (Trang 33)
Hình 21 Card TDM400P - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 21 Card TDM400P (Trang 48)
Hình 23 Giao diện NAT port trên router - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 23 Giao diện NAT port trên router (Trang 52)
Hình 24 Thiết lập STUN trên softphone - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 24 Thiết lập STUN trên softphone (Trang 53)
Hình 25 Giao diện softphone Linphone - TỔNG ĐÀI DỊCH VỤ VOIP
Hình 25 Giao diện softphone Linphone (Trang 55)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w