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

Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN

112 521 1

Đ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 112
Dung lượng 3,17 MB

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

Nội dung

Đối với những doanh nghiệp có nhiều chi nhánh đã có sẵn hạ tầng mạng Internet và các trang thiết bị liên lạc nội bộ sử dụng trong tổng đài PBX Private Branch eXchange: Tổng đài điện thoạ

Trang 1

tin của trường Đại học Lạc Hồng đã đào tạo cho chúng tôi những kiến thức, những kinh nghiệm quý báu trong suốt thời gian học tập tại trường

Trước hết chúng tôi xin chân thành cảm những người thân trong gia đã luôn gần gũi, động viên và tạo mọi điều kiện tốt để chúng tôi hoàn thành luận văn này

Nhóm nghiên cứu xin được gửi lời tri ân sâu sắc nhất đến thầy Ths Nguyễn Hoàng Liêm và anh Ks Trần Vũ đã hướng dẫn tận tình và quan tâm, động viên chúng tôi trong suốt quá trình thực hiện đề tài

Chúng tôi cũng vô cùng cảm ơn sự nhiệt tình của các nhóm bạn đã giúp đỡ nhóm nghiên cứu chúng tôi rất nhiều trong quá trình tìm kiếm tài liệu và góp ý cho bài làm của chúng tôi được tốt hơn

Mặc dù đã cố gắng hết sức để hoàn thành luận văn này, nhưng do kiến thức còn hạn chế nên sẽ không tránh khỏi những thiếu sót Rất mong quý thầy cô và bạn bè thông cảm và đóng góp ý kiến cho nhóm nghiên cứu

Chúng tôi xin gửi lời chúc sức khỏe và thành đạt tới tất cả quý thầy cô cùng các bạn

Biên Hòa, Tháng 11 năm 2013 Nhóm sinh viên thực hiện Phạm Minh Dũng - Lâm Thị Hải Lý

Trang 2

MỤC LỤC

DANH MỤC VIẾT TẮT

DANH MỤC BẢNG VÀ HÌNH

PHẦN MỞ ĐẦU 1

1.Lý do chọn đề tài 1

2.Lịch sử nghiên cứu 2

2.1.Trên thế giới 2

2.2.Trong nước 2

3.Mục tiêu nghiên cứu 3

4.Đối tượng nghiên cứu và phạm vi nghiên cứu 3

5.Phương pháp nghiên cứu 3

6.Những đóng góp của đề tài và những vấn đề chưa thực hiện được 3

7.Kết cấu của đề tài: 3

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 5

1.1.Khái niệm VoIP: 5

1.2.Các mô hình mạng VoIP: 7

1.2.1.Mô hình PCto PC: 7

1.2.2.Mô hình PC to Phone: 8

1.2.3.Mô hình Phone to Phone: 8

1.3 Giao thức vận chuyển của VoIP 9

1.3.1 Mô hình TCP/IP: 9

1.3.1.1 Giao thức TCP (Transmission Control Protocol) 10

1.3.1.2 Giao thức IP (Internet Protocol) 12

1.3.2 Giao thức UDP (User Datagram Protocol) 16

1.3.3 Giao thức RTP (Real – time Transport Protocol) 16

1.4 Giao thức báo hiệu SIP: 19

Trang 3

1.4.2 Các loại thông điệp SIP 21

1.4.3 Giao thức đặc tả phiên SDP (Session DescriptionProtocol): 22

1.4.5 Mô tả cuộc gọi thông qua SIP: 25

1.5 Hệ thống Asterisk 27

1.5.1 Giới thiệu Asterisk 27

1.5.2 Lịch sử của Asterisk 27

1.5.3 Kiến trúc Asterisk 29

1.5.4 Một số tính năng cơ bản của Asterisk 32

1.5.4.1 Hộp thư thoại (Voicemail) 32

1.5.4.2 Chuyển hướng cuộc gọi (Call Forwarding) 32

1.5.4.3 Hiển thị số đang gọi đến (Caller ID) 32

1.5.4.4 Hội thoại (Conference Call) 33

1.5.4.5 Tổng đài trả lời tự động 33

1.5.4.6 Thời gian (Time and Date) 33

1.5.4.7 Call Parking 33

1.5.4.8 Remote Call Pickup 33

1.5.4.9 Quản lý cuộc gọi (Privacy Manager) 34

1.5.4.10 Backlist 34

1.5.4.11 Chi tiết cuộc gọi (Call Detail Records) 34

1.5.4.12 Ghi âm cuộc gọi (Call Recording) 34

1.5.5 SIP trong Asterisk 30

1.5.6 Một số lệnh cơ bản trong Asterisk 32

1.5.7 Dial Plan 35

1.5.7.1 Context 36

1.5.7.2 Extensions 36

1.5.7.3 Priority 37

Trang 4

1.5.7.7 Một số extensions đặc biệt 41

1.6 Tiểu kết 41

CHƯƠNG 2: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG TỔNG ĐÀI 42

2.1 Về phần cứng 42

2.2 Về phần mềm 42

2.3 Chức năng của hệ thống: 42

2.4 Xây dựng hệ thống tổng đài 43

2.4.1 Mô hình tổng thể: 43

2.4.2 Các bước cài đặt 44

2.4.3 Cấu hình cho tổng đài Asterisk 47

2.4.3.1 Cấu hình qua giao diện FreePBX GUI 47

2.4.3.2 Xây dựng tính năng Voicemail 55

2.4.3.3 Xây dựng tính năng hội thoại (Conference Call) 58

2.4.3.4 Cấu hình tính năng Music On Hold: 60

2.4.3.5 Xây dựng tính năng tổng đài trả lời tự động (IVR) 62

2.4.4 Kết nối hai tổng đài Asterisk 64

CHƯƠNG 3: KẾT QUẢ ĐẠT ĐƯỢC 68

3.1 Cấu hình softphone đăng kí tới tổng đài 68

3.2 Thực hiện cuộc gọi giữa các extension cùng tổng đài 70

3.3 Thực hiện cuộc gọi từ các extension ra ngoài mạng PSTN 70

3.4 Thực hiện cuộc gọi mạng PSTN vào tổng đài Asterisk 71

3.5 Thực hiện cuộc gọi giữa các extension thông qua đường Trunk 72

3.4 Để lại tin nhắn thoại Voicemail 73

3.5 Truy cập vào hộp thư thoại 73

3.6 Tham gia vào một cuộc hội thoại Conference Call 75

3.7 Đánh giá hệ thống 76

Trang 5

3.8.1.2 Tấn công từ chối dịch vụ (DoS): 78

3.8.1.3 Tấn công ARP 78

3.8.1.4 Lỗ hổng với IP phone và Softphone 80

3.8.1.5 Spam trong VoIP 80

3.8.2 Một Số Giải Pháp Bảo Mật Cho Hệ Thống VoIP 81

3.8.2.1 VLAN 81

3.8.2.2 Firewalls 83

3.8.2.3 VPN (Virtual private network) 83

3.9 Giải pháp xây dựng tổng đài VoIP cho trường Đại học Lạc Hồng 84

TỔNG KẾT 91

TÀI LIỆU THAM KHẢO

PHỤ LỤC 1

PHỤ LỤC 2

PHỤ LỤC 3

Trang 6

AH Authenticaion Header

API Application programming interface

ARP Address Resolution Protocol

GSM Global System for Mobile Communications HTTP Hypertext Tranfer Protocol

IAX Inter – Asterisk eXchange

ICMP Internet Control Message Protocol

IETF Internet Engineering Task Force

IGMP Internet Group Message Protocol

IP Internet Protocol

IPSec Internet Protocol Security

ISDN Integrated Services Digital Network

ITU International Telecommunication Union

ITU–T ITU Telecommunication Standardization Sector IVR Interactive Voice Respone

L2F Layer two Forwarding

L2TP Layer 2 Tunneling Protocol

LAN Local Area Network

MAC Media Access Control

MC Multipoint Controller

OSI Open Systems Interconnection

PBX Private Branch Exchange

PC Personal computer

PPP Point – to – Point Protocol

PPTP Point – to – Point Tunneling Protocol

PSTN Public Switched Telephone Network

QOS Quality of Service

RAS Registration, Admission and Status

RR Receiver Report

RSVP Resource Reservation Protocol

RTP Real – time Transport Protocol

SPIT Spam over Internet Telephony

SR Sender Report

SRTCP Secure RTCP

SRTP Secure Real Time Transport Protocol

Trang 7

UDP User Data Protocol

UNISTIM Unified Network Stimulus

URI Uniform resource identifier

VOIP Voice over IP

VPN Virtual private network

WAV Waveform Audio File Format

Hình 1.4 Mối liên hệ giữa mô hình OSI và mô hình TCP/IP 10

Trang 8

Hình 2.9 Login vào FreePBX 48 Hình 2.10 Giao diện web của FreePBX – Tình trạng của hệ

Hình 2.21 Thông tin Peer và User của đường Trunk (231) 65

Hình 2.23 Thông tin Peer và User của đường Trunk (232) 66

Hình 3.4 Gọi giữa hai extension cùng tổng đài 70

Hình 3.7 Gọi giữa hai extension thông qua SIP Trunk 72

Trang 9

Hình 3.18 VLAN phân theo chức năng 82 Hình 3.19 Trường Đại học Lạc Hồng khi chưa sử dụng VoIP 84 Hình 3.20 Trường Đại học Lạc Hồng khi sử dụng VoIP 85

Hình 3.22 Đường trunk tới Gateway sử dụng SIM 87 Hình 3.23 Đường trunk tới Gateway sử dụng line điện thoại 87 Hình 3.24 Đường route gọi ra ngoài theo nhà mạng Vinaphone 88

Trang 10

PHẦN MỞ ĐẦU

1 Lý do chọn đề tài

Ngày nay, cùng với sự phát truyển của kinh tế – xã hội, nhu cầu trao đổi thông tin của con người ngày càng cao Bởi vậy ngành điện tử viễn thông có một vai trò đặc biệt quan trọng, nhất là trong thời buổi bùng nổ thông tin như hiện nay Các hệ thống viễn thông trở thành phương tiện rất hữu ích cho việc trao đổi thông tin Thông tin càng trở nên cần thiết hơn bao giờ hết, nó đặt nên một vấn đề là truyền đạt thông tin như thế nào để thông tin đi được nhanh nhất, chính xác nhất và chi phí sử dụng phải thấp nhất Công nghệ truyền giọng nói qua mạng Internet ra đời như là một cuộc các mạng của hệ thống viễn thông

Voice over IP (VoIP) có thể thực hiện tất cả các dịch vụ gọi thông thường như trên mạng điện thoại công cộng (PSTN) và nhiều dịch vụ nâng cao khác như chuyển tiếp cuộc gọi, voice mail, tổng đài trả lời tự động (IVR)

Đối với những doanh nghiệp có nhiều chi nhánh đã có sẵn hạ tầng mạng Internet và các trang thiết bị liên lạc nội bộ sử dụng trong tổng đài PBX (Private Branch eXchange: Tổng đài điện thoại nội bộ) việc triển khai hệ thống VoIP này sẽ không đòi hỏi doanh nghiệp đó phải đầu tư gì nhiều về cơ sở hạ tầng và trang thiết

bị, mà khả năng mở rộng là rất lớn và dễ dàng khi doanh nghiệp có nhu cầu mở thêm một chi nhánh mới, trong khi đó việc mở rộng tổng đài PBX và phát triển mạng nội bộ mới là khá tốn kém

VoIP ngày càng đáp ứng tốt hơn các yêu cầu mà người tiêu dùng đặt ra như chất lượng dịch vụ, giá thành, số lượng tích hợp các dịch vụ thoại lẫn phi thoại Với những ưu điểm của mình công nghệ VoIP sẽ ngày một phát triển trong tương lai Việc tìm hiểu và xây dựng các ứng dụng trên công nghệ VoIP là điều cần thiết và sẽ mang lại những lợi ích to lớn.Trong quá trình tìm hiểu, nghiên cứu chúng tôi nhận thấy tầm quan trọng của VoIP trong đời sống hiện nay và tính thực tiễn cao của nó

Trang 11

nên chúng tôi đã chọn đề tài: “Nghiên cứu tổng đài Voice IP và cài đặt hệ thống tổng đài VoiceIP cho mạng LAN” làm đề tài tốt nghiệp

2 Lịch sử nghiên cứu

2.1 Trên thế giới

Theo tài liệu tư vấn khách hàng và định hướng phát triển công nghệ của

nhiều tập đoàn hàng đầu thế giới như Avaya, Siemens, Cisco, AudioCodes,

Alcatel-Lucent, đều tập trung vào phát triển trên nền tảng IP, trong đó các dịch vụ, ứng dụng thoại VoIP được tập trung khá nhiều nguồn lực Các doanh nghiệp trên toàn thế giới cũng có xu hướng đầu tư hoặc nâng cấp hạ tầng viễn thông truyền thống của họ sang hạ tầng viễn thông thoại VoIP, một mặt bắt kịp xu thế của thời đại công nghệ, mặt khác tận dụng những dịch vụ tiện ích đa truyền thông ngày càng phát triển trên hạ tầng IP, từ thoại thông thường cho đến Fax qua IP, hội nghị truyền hình, email, chat, truyền hình trực tuyến, giảm chi phí đầu tư nâng cấp hoặc mở rộng và bắt kịp công nghệ khi hòa nhập vào một thế giới phẳng

2.2 Trong nước

Ở Việt Nam, các dịch vụ điện thoại có ứng dụng công nghệ VoIP mang tính thương mại cũng phát triển rất mạnh, như các dịch vụ điện thoại đường dài 171 của VNPT hay178 của Viettel, điện thoại quốc tế giá rẻ 1719 của VNPT và dịch vụ điện thoại Internet dùng thẻ

Trên thị trường hiện nay có rất nhiều sản phẩm tổng đài điện thoại cài đặt sẵn của các hãng: Panasonic, Siemens, LG Ưu điểm của các sản phẩm này là dễ dàng cài đặt, hỗ trợ đầy đủ các tính năng cần thiết của một tổng đài điện thoại (hộp thư thoại, chuyển cuộc gọi, tổng đài trả lời tự động) Nhưng các sản phẩm này lại có giá thành khá đắt, khả năng mở rộng của các tổng đài này lại ở mức giới hạn, đặc biệt khi tổng đài xảy ra sự cố thì toàn bộ hệ thống liên lạc trong công ty hay tổ chức sẽ

bị gián đoạn điều này sẽ gây ảnh hưởng nghiêm trọng đến hiệu suất của công việc, gây thất thoát lớn cho công ty đó Bên cạnh đó vì là tổng đài có sẵn nên khó có thể nào tích hợp thêm các dịch vụ khác bên ngoài

Trang 12

3 Mục tiêu nghiên cứu

Nghiên cứu tổng đài Voice IP và cài đặt hệ thống tổng đài VoiceIP cho mạng nội bộ của công ty hoặc tổ chức

4 Đối tượng nghiên cứu và phạm vi nghiên cứu

Đề tài tập trung nghiên cứu về hệ thống tổng đài VoIP sử dụng giao thức báo hiệu SIP, sau đó xây dựng thử nghiệm hệ thống với phần mếm mã nguồn mở Asterisk hoạt động trên nền hệ điều hành Linux

5 Phương pháp nghiên cứu

- Tìm hiểu giao thức báo hiệu của VoIP So sánh các giao thức báo hiệu đã tìm hiểu được từ đó lựa chọn giao thức báo hiệu phù hợp để ứng dụng vào hệ thống

- Tìm hiểu giao thức vận chuyển tín hiệu thoại của VoIP

- Tìm hiểu cách thức tấn công trong mạng VoIP từ đó có thể đưa ra các giải pháp nhằm bảo mật hệ thống VoIP

- Nghiên cứu, cài đặt và cấu hình Asterisk trên hệ điều hành Linux

- Nghiên cứu, cài đặt và cấu hình cho phép hệ thống tổng đài Asterisk trong mạng IP có thể gọi ra ngoại mạng điện thoại thông thường và ngược lại

6 Những đóng góp của đề tài và những vấn đề chưa thực hiện được

Đề tài đã thực hiện thành công các cuộc gọi từ mạng IP tới mạng điện thoại thông thường và ngược lại

Tạo tiền đề cho việc xây dựng hệ thống tổng đài VoIP đầy đủvà hoàn chỉnh hơn có thể áp dụng trong nhà trường, công ty và các doanh nghiệp cho nhu cầu

Tuy nhiên do thời gian và kiến thức có hạn nên chúng tôi chỉ mới thử nghiệm

ở hệ thống mạng có quy mô nhỏ và một số chức năng đặc biệt của Asterisk

7 Kết cấu của đề tài:

Luận văn được chia làm ba phần: phần mở đầu, phần nội dung và phần kết luận

Trang 13

Phần mở đầu

Giới thiệu sơ lược về lý do chọn đề tài, tổng quan tình hình phát triển, mục tiêu nghiên cứu đề tài, đối tượng, phạm vi, phương pháp nghiên cứu cũng như những đóng góp mới của đề tài Bên cạnh đó cũng chỉ ra mặt hạn chế mà đề tài chưa thực hiện được để giúp mọi người có cái nhìn rõ hơn

Phần nội dung chính: gồm 3 chương

Chương 1: Cơ sở lý thuyết

Trình bày tổng quan về hệ thống tổng đài VoIP, các giao thức vận chuyển, báo hiệu trong VoIP, Asterisk

Chương 2: Thiết kế và xây dựng hệ thống tổng đài

Nêu cách xây dựng hệ thống tổng đài và các chức năng của tổng đài như: Voicemail, Conference Call …

Chương 3: Kết quả đạt được

Các chức năng đạt được sau khi hoàn thiện tổng đài và vấn đề bảo mật của

hệ thống tổng đài

Phần kết luận: Kết luận chung cho toàn bộ đề tài

Đánh giá, nhận xét tổng quan, hướng phát triển của đề tài trong tương lai

Trang 14

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Khái niệm VoIP:

Voice over Internet Protocol (VoIP) 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 các 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ể thiết lập cuộc gọi như hệ thống mạng PSTN và gửi Fax qua mạng

dữ liệu dựa trên IP với chất lượng dịch vụ phù hợp Như vậy, nó đã tận dụng được sức mạnh và sự phát triển vượt bậc của mạng IP vốn chỉ được sử dụng để truyền dữ liệu thông thường

 Ưu điểm:

Giảm chi phí cuộc gọi: So với dịch vụ điện thoại thông thường thì điện

thoại IP có khả năng cung cấp những cuộc gọi đường dài với giá thành rẻ

mà chất lượng ổn định, đây được coi là ưu điểm nổi bật nhất của điện thoại IP Chi phí cho một cuộc gọi đường dài khi sử dụng điện thoại IP chỉ tương đương với chi phí khi người sử dụng truy cập Internet Nguyên nhân dẫn đến chi phí thấp như vậy là do tín hiệu thoại được truyền tải trong mạng IP có khả năng sử dụng kênh hiệu quả cao Đồng thời, kỹ

thuật nén thoại tiên tiến sẽ giảm được dung lượng mạng

Tích hợp nhiều dịch vụ: Vì hệ thống điện thoại VoIP là dựa trên phần

mềm, do đó các nhà phát triển có thể phát triển thêm và cải thiện các tính năng một cách dễ dàng Do đó, hầu hết các hệ thống điện thoại VoIP đều

có rất nhiều tính năng không chỉ đơn giản là gọi điện thoại mà nó còn bao gồm tính năng trả lời tự động, thư thoại, xếp hàng cuộc gọi và nhiều nữa Tích hợp đa dịch vụ sẽ tiết kiệm chi phí đầu tư nhân lực, chi phí xây dựng

các mạng riêng lẻ

Khả năng mở rộng: Nếu như các hệ tổng đài điện thoại thường là những

hệ thống kín, việc thêm đường điện thoại hoặc thêm số máy nhánh thường đòi hỏi phải nâng cấp những phần cứng đắt tiền.Trong một số trường hợp,

Trang 15

bạn yêu cầu hệ thống điện thoại phải được thay thế mới hoàn toàn.Hệ thống tổng đài VoIP thì không như vậy: một chiếc máy tính bình thường

có thể quản lý một lượng lớn các đường điện thoại và các số máy nhánh

Quản lý băng thông: Trong điện thoại chuyển mạch kênh tốc độ truyền

dẫn cho các cuộc gọi thoại luôn là cố định (trong mạng PSTN, tốc độ này

là 64Kbit/s), nhưng trong VoIP việc phân chia tài nguyên cho các cuộc thoại linh hoạt và mềm dẻo hơn nhiều Khi một cuộc gọi diễn ra, nếu lưu lượng mạng thấp thì băng thông dành cho cuộc gọi đó sẽ cho chất lượng tốt nhất có thể, ngược lại khi lưu lượng mạng cao thì mạng sẽ hạn chế băng thông của từng cuộc gọi sao cho chất lượng thoại chấp nhận được,

điều này sẽ đảm bảo việc phục vụ cùng một lúc nhiều cuộc gọi

 Nhược điểm:

Bên cạnh những ưu điểm hấp dẫn, VoIP còn tồn tại những nhược điểm

không thể phủ nhận khi triển khai một mạng điện thoại IP:

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 trong 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ễ 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 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ễ

Vấn đề về tiếng vọng: Nếu như trong mạng thoại, do độ trễ ít nên tiếng

vọng không ảnh hưởng nhiều tới cuộc gọi 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ì vậy, tiếng vọng

là một vấn đề cần phải giải quyết trong điện thoại IP

Kỹ thuật phức tạp: Truyền tín hiệu theo thời gian thực trên mạng chuyển

mạch gói là rất phức tạp do mất gói trong mạng là không thể tránh và độ trễ không cố định của các gói thông tin khi truyền trên mạng Để có được

Trang 16

một dịch vụ thoại chấp nhận được cần phải có một kỹ thuật nén tín hiệu đạt được những yêu cầu khắt khe như: tỉ số nén lớn, có khả năng suy đoán

và tạo lại thông tin của các gói tin bị thất lạc… Tốc độ xử lý của các bộ Codec (Coder and Decoder – bộ mã hóa và giải mã) phải đủ nhanh để không làm cuộc đàm thoại bị gián đoạn Đồng thời cơ sở hạ tầng của mạng cũng cần được nâng cấp lên các công nghệ mới để có tốc độ cao hơn

và có cơ chế thực hiện chức năng QoS

Vấn đề bảo mật: VoIP được xây dựng trên nền tảng Internet vốn không

an toàn, do đó sẽ dẫn đến khả năng các thông tin có thể bị đánh cắp khi các gói tin bị thu lượm hoặc định tuyến sai địa chỉ một cách cố y khi chúng được truyền trên mạng Ngoài ra cần phải quan tâm tới các vấn đề khác như vi rút, phần mềm độc hại, thư rác, hay các cuộc gọi giả mạo để xâm nhập vào hệ thống mạng

Ngoài ra, VoIP không thể sử dụng được khi gặp phải tình trạng cúp điện hay mạng gặp sự cố

1.2 Các mô hình mạng VoIP:

1.2.1 Mô hình PC to PC:

Trong mô hình này, mỗi máy tính cần được trang bị một sound card, một microphone, một speaker và được kết nối trực tiếp với mạng LAN hay Internet Mỗi máy tính được cài đặt những phần mềm dùng riêng cho việc truyền thoại, như vậy

là 2 máy tính đã có thể trao đổi tín hiệu thoại với nhau thông qua mạng LAN hay mạng Internet Tất cả các thao tác như lấy mẫu tín hiệu âm thanh, mã hóa và giải

mã, nén và giải nén tín hiệu đều được máy tính thực hiện

Hạn chế của mô hình này: Các thiết bị PC sẽ liên tục đựơc mở để có thể nghe được các cuộc điện thoại

Trang 17

1.2.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 Với mô hình này cho phép thiết lập cuộc gọi từ mạng máy tính được trang bị phần mềm truyền thoại trên mạng đến bất kì máy điện thoại nào trên mạng PSTN và ngược lại

Để thực hiện được cuộc gọi qua mạng nói trên, hệ thống phải được trang bị các gateway là thành phần giao tiếp giữa mạng VoIP với mạng PSTN truyền thống Gateway sẽ thực hiện chức năng chuyển đổi địa chỉ IP sang số điện thoại tương ứng

và ngược lại, cũng như nó sẽ thực hiện các cơ chế chuyển đổi giao thức báo hiệu giữa hai mạng IP và PSTN

1.2.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 lạc 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 đây đị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

Trang 18

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ã hóa, nén, đóng gói lại và gửi qua mạng Mạng đích cũng được kết nối với Gateway và tại

đó địa chỉ lại được chuyển đổi trở thành địa chỉ PSTN và tín hiệu được giải nén, giải mã, rồi 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

1.3 Giao thức vận chuyển của VoIP

1.3.1 Mô hình TCP/IP:

Mạng máy tính khổng lồ Internet hiện nay đang sử dụng mô hình TCP/IP để quản lý việc truyền thông TCP/IP được xem là giản lược của mô hình OSI với bốn lớp sau: Application (tích hợp 3 lớp trên cùng của mô hình OSI), Transport (tương đương với lớp Transport của OSI), Internet (tương ứng với lớp Network nhưng chỉ

sử dụng giao thức IP để định địa chỉ logic cho các máy tính) và Network Access (bao gồm 2 lớp dưới cùng của mô hình OSI) Do đó, tính năng của mỗi lớp trong

mô hình TCP/IP chính là những tính năng của mỗi lớp trong mô hình OSI Một số giao thức thường gặp trong mô hình TCP/IP: IP, ICMP, IGMP, TCP, UDP, Telnet, FTP, WWW, SMTP,…

Mô hình TCP/IP gọn nhẹ hơn mô hình tham chiếu OSI, đồng thời có những biến đổi phù hợp thực tế hơn Ví dụ: lớp Transport của mô hình OSI quy định việc truyền dữ liệu phải đảm bảo độ tin cậy hoàn toàn Tuy nhiên, một số ứng dụng mới

Hình 1.3: Mô hình Phone to Phone

INTERNET

PSTN

Gateway

Trang 19

phát triển sau này như VoIP, Video Conference,… đòi hỏi tốc độ cao và cho phép

bỏ qua một số lỗi nhỏ Nếu vẫn áp dụng mô hình OSI vào thì tốc độ trễ trên mạng rất lớn và không đảm bảo chất lượng dịch vụ Trong khi đó, mô hình TCP/IP, ngoài giao thức chính của lớp Transport là TCP, còn cung cấp thêm giao thức UDP để thích ứng với các ứng dụng cần tốc độ cao

1.3.1.1 Giao thức TCP (Transmission Control Protocol)

TCP là một giao thức hướng kết nối (oriented-connection), được mô tả trong RFC 793 Nó cung cấp một phương thức truyền dữ liêu song công hoàn toàn (full-duplex) tin cậy Đối với TCP, một kết nối phải được thiết lập trước khi hoạt động truyền thông tin thực sự có thể bắt đầu TCP chịu trách nhiệm phân chia dữ liệu thành từng đoạn (segment), sắp xếp lại các đoạn thành dữ liệu ban đầu tại đích, truyền lại bất kỳ đoạn nào không thể nhận được TCP cung cấp một mạch ảo giữa các ứng dụng Vì các tính năng trên, nên TCP phải phát sinh thêm thông tin điều khiển được trao đổi giữa các máy tính Cũng chính vì vậy mà trong TCP header có nhiều thông tin hơn UDP header

Các ứng dụng sử dụng TCP là: FTP, HTTP, SMTP, Telnet , v.v…

Hình 1.4: Mối liên hệ giữa mô hình OSI và mô hình TCP/IP

Trang 20

Để đạt được độ tin cậy, TCP dựa vào các thông tin trong TCP header TCP header có nhiều cột, mỗi cột cung cấp nhiều tính năng xác định Hình 1.5 chỉ ra các cột trong TCP header

Source Port (16) Destination Port (16)

 Source Port (16 bit): port của ứng dụng nguồn

 Destination Port (16 bit): port của ứng dụng đích

 Sequence Number (32 bit): chỉ ra số octet (byte) đầu tiên trong một đoạn

 Acknowledgement Number (32 bit): chỉ ra số octet kết tiếp mà máy nhận đang mong chờ

 Header Length (4 bit): chỉ ra chiều dài của header, tính theo byte

 Reserved (6 bit): dành để dùng cho tương lai

 Code Bits (6 bit): được sử dụng trong việc quản lý phiên giao dịch và theo dõi các đoạn

 Window (16 bit): là giá trị của cửa sổ động – có thể gửi bao nhiêu octet trước khi đợi nhận một ACK

 Checksum (16 bit): được sử dụng để kiểm tra lỗi của header và data

Hình 1.5: TCP header

Trang 21

 Urgent (16 bit): chỉ được sử dụng với cờ URG

 Options (độ dài thay đổi): khai báo các option của TCP, trong đó có độ dài tối đa của vùng TCP data trong một đoạn

 Data (độ dài thay đổi): chứa dữ liệu của lớp trên, có độ dài tối đa là 536 byte Giá trị này có thể điều chỉnh bằng cách khai báo trong vùng options

1.3.1.2 Giao thức IP (Internet Protocol)

Nhiệm vụ chính của giao thức IP là cung cấp khả năng kết nối các mạng con thành liên kết mạng để truyền và nhận dữ liệu, vai trò của IP là vai trò của lớp Network trong mô hình OSI Giao thức IP là một giao thức kiểu không kết nối (connectionless) có nghĩa là nó không cần có giai đoạn thiết lập kết nối trước khi truyền dữ liệu Các chức năng được thực hiện ở IP là:

• Gán địa chỉ (Addressing): tất cả các host trong mạng và trong liên mạng

đều được cung cấp một địa chỉ IP duy nhất Theo giao thức IPv4, mỗi địa chỉ

IP gồm 32 bit và được chia làm 5 lớp ký hiệu là A, B, C, D, E Các lớp A,B,C được sử dụng để định danh các host trên các mạng Lớp D dành riêng cho lớp kỹ thuật multicast, còn lớp E được dành cho những ứng dụng cho tương lai

• Định tuyến (Routing): giúp xác định đường đi cho gói tin khi được truyền

trên mạng Nó giúp lựa chọn đường đi tối ưu cho các gói dữ liệu Nếu hai host cần liên lạc không nằm trên một subnet thì bảng định tuyến sẽ được sử dụng để quyết định việc chuyển dữ liệu và các bộ định tuyến thường xuyên trao đổi và cập nhật thông tin trong bảng định tuyến tùy thuộc vào phương pháp định tuyến được sử dụng

Có 3 cách truyền các gói IP là:

o Unicast: là quá trình gửi một gói tin từ một thiết bị đến một thiết bị khác

o Multicast: là quá trình gửi một gói tin từ một thiết bị đến một nhóm các thiết bị được chọn trong một mạng

o Broadcast: là quá trình gửi một gói tin từ một thiết bị đến tất cả các thiết bị còn lại trong một mạng

Trang 22

Ngoài ra, giao thức IP còn cung cấp khả năng phân mảnh dữ liệu lớn thành các gói có kích thước nhỏ hơn để truyền qua mạng

 Giao thức IP phiên bản 4 (IPv4):

Hình 1.6 cho biết cấu trúc của một header IPv4

Source Address Destination Address

Ý nghĩa của từng cột:

 Ver (4 bit): chỉ ra phiên bản của IP

 IHL – Internet Header Length (4 bit): chỉ ra kích thước của IP header

 Type of Service (8 bit): nó được dùng để quyết định độ ưu tiên của mỗi gói tin Giá trị này cho phép QoS được tác động đến các gói tin

có độ ưu tiên cao Ta có thể cấu hình router dựa vào giá trị này để quyết định thứ tự ưu tiên chuyển các gói tin

 Total Length (16 bit): cho biết kích thước của toàn bộ gói tin bao gồm header và data được tính theo byte

 Identification (16 bit): cột này được sử dụng để nhận dạng các phân mảnh (fragment) duy nhất của một IP gói tin

 Flag(3 bit): Các gói tin khi được truyền trên mạng có thể bị phân thành nhiều gói tin nhỏ, trong trường hợp đó cột Flag được dùng để điều khiển phân mảnh và tái lắp ghép các gói tin nhỏ lại với nhau Tùy

Hình 1.6: Các cột trong IPv4 header

Byte 1

Trang 23

theo giá trị của Flag sẽ có ý nghĩa là gói tin có hoặc không bị phân mảnh hay gói tin đó là phân mảnh cuối cùng

 Fragment Offset (13 bit): chỉ rõ vị trí của phân mảnh trong gói tin tính theo đơn vị 64 bit

 Time to Live(8 bit): là thời gian tối đa một gói tin có thể tồn tại trên mạng, được tính bằng giây Mỗi lần gói tin qua một bộ định tuyến thì giá trị này giảm đi 1s, kể cả khi thời gian xử lý gói này chưa tới 1s Khi giá trị này bằng 0 thì gói tin sẽ bị hủy

 Protocol (bit): Xác định giao thức của lớp trên sẽ nhận dữ liệu Giá trị phổ biến của cột này là:

 Source Address (32 bit): xác định địa chỉ của máy nguồn

 Destination Address (32 bit): xác định địa chỉ của máy đích

 Options (có độ dài thay đổi): dành cho dự phòng khi thêm các cột mới vào IPv4 header để cung cấp các dịch vụ khác nhưng nhưng option này hiếm khi được dùng

 Padding (có độ dài thay đổi): vùng đệm, được dùng để đảm bảo cho phần header luôn kết thúc ở một mốc 32 bit

 Giao thức IP phiên bản 6 (IPv6):

Do sự phát triển như vũ bão của mạng và dịch vụ Internet, nguồn IPv4 dần cạn kiệt, đồng thời bộc lộ các hạn chế đối với việc phát triển các loại hình dịch vụ hiện đại trên Internet Phiên bản địa chỉ Internet mới IPv6 được thiết kế để thay thế cho phiên bản IPv4 IPv6 là giao thức Internet mới được kế thừa đặc điểm chính của IPv4 và có nhiều cải tiến để khắc phục những hạn chế:

Trang 24

 Địa chỉ IPv6 có chiều dài 128 bit, biểu diễn dưới dạng các cụm số hexa phân cách bởi dấu :: Với 128 bit chiều dài, không gian địa chỉ IPv6 gồm

2128 địa chỉ, cung cấp một lượng địa chỉ khổng lồ cho hoạt động Internet

và loại bỏ công nghệ NAT

 Quản trị TCP/IP dễ dàng hơn: DHCP được sử dụng trong IPv4 nhằm giảm cấu hình thủ công TCP/IP cho host IPv6 được thiết kế với khả năng

tự động cấu hình, không cần sử dụng máy chủ DHCP, giảm cấu hình thủ công

 Cấu trúc định tuyến tốt hơn: Định tuyến IPv6 được thiết kế hoàn toàn phân cấp

 Hỗ trợ tốt hơn cho di động: Thời điểm IPv4 được thiết kế, chưa tồn tại khái niệm về thiết bị IP di động Trong thế hệ mạng mới, dạng thiết bị này ngày càng phát triển, đòi hỏi cấu trúc giao thức Internet có sự hỗ trợ tốt hơn

Cấu trúc của gói tin IPv6 như sau:

Ý nghĩa các trường như sau:

 Version: phiên bản của IP, có giá trị bằng 6 với IPv6

 Traffic Class (8 bit): dùng để quyết định độ ưu tiên

 Flow Label (20bit): xác định các gói dữ liệu được ưu tiên trên đường

 truyền nếu có xảy ra tranh chấp, thường được sử dụng cho các dịch vụ đòi hỏi chất lượng dịch vụ cao hay thời gian thực

 Payload Length (16 bit): xác định độ dài phần dữ liệu không tính phần tiêu đề

Version Traffic Class Flow Label Payload Length Next Header Hop Limit

Source Address Destination Address

Hình 1.7: Các cột trong IPv6 header

Trang 25

 Hop Limit (8 bit): giống như trường Time to Live của IPv4

 Source Address và Destination Address giống như IPv4 nhưng có độ dài 128bit

 Data: có độ dài tối đa là 65535 byte

1.3.2 Giao thức UDP (User Datagram Protocol)

UDP là giao thức không kết nối (connectionless) được sử dụng thay thế cho TCP ở trên IP theo yêu cầu của từng ứng dụng UDP không có các cơ chế giống như TCP chẳng hạn như: thiết lập kết nối trước khi truyền dữ liệu thực sự, truyền lại đối với những dữ liệu bị mất, đánh số thứ tự các segment và điều khiển luồng Điều này không có nghĩa là các ứng dụng sử dụng giao thức UDP để vận chuyển thì luôn luôn không tin cậy (unreliable) Nó chỉ đơn giản là làm sao vận chuyển dữ liệu cho nhanh và tính năng tin cậy được thực hiện ở lớp Application nếu cần

Source Port (16) Destination Port (16)

APPLICATION LAYER DATA

Ý nghĩa của các cột:

 Source Port (16 bit): port của ứng dụng nguồn

 Destination Port (16 bit): port của ứng dụng đích

 Length(16 bit): chỉ thị chiều dài của gói dữ liệu, gồm cả header và dữ liệu

 Checksum(16 bit): được sử dụng để kiểm tra lỗi

 Data (độ dài tùy thay đổi): chứa dữ liệu vào

1.3.3 Giao thức RTP (Real – time Transport Protocol)

RTP là giao thức cung cấp các chức năng phục vụ cho quá trình truyền dữ liệu mang đặc tính thời gian thực như là audio,video RTP có nhiệm vụ xác định loại tải trọng (payload type identification), đánh số thứ tự các gói tin (sequence

Hình 1.8: Tiêu đề UDP

Trang 26

numbering), đánh dấu thời gian phát (timestamping) phục vụ cho cơ chế đồng bộ khi phát lại tín hiệu ở bên thu và giám sát việc chuyển gói tin (delivery monitoring)

Các ứng dụng thường chạy giao thức RTP ở bên trên giao thức UDP để sử dụng dịch vụ ghép kênh (multiplexing) và kiểm tra lỗi (checksum) của dịch vụ này

Cả hai giao thức này tạo nên một phần chức năng của lớp transport Tuy nhiên RTP cũng có thể được sử dụng với những giao thức khác của lớp network và lớp transport bên dưới miễn là các giao thức này cung cấp được các dịch vụ mà RTP đòi hỏi Giao thức RTP hỗ trợ việc truyền dữ liệu tới nhiều đích sử dụng phân bố dữ liệu multicast nếu như khả năng này được lớp mạng hoạt động bên dưới nó cung cấp

Bản thân RTP không hề cung cấp một cơ chế nào nhằm đảm bảo về mặt thời gian, cũng như sự đảm bảo về chất lượng dịch vụ (QoS) của các ứng dụng thời gian thực, nhưng điều này vẫn được đảm bảo dựa trên các dịch vụ lớp dưới

Cũng như vậy RTP không đảm bảo độ tin cậy hay thứ tự của các gói tin Nhưng các cơ chế đảm bảo độ tin cậy và việc đảm bảo thứ tự các gói tin nhận được

sẽ được đảm bảo dưới các cơ chế của lớp mạng Số thứ tự được đánh trong khung RTP cho phép bên nhận có thể khôi phục lại thứ tự gói phía gửi, nhưng có thể nó cũng được dùng để định vị gói tin như trong quá trình giải mã tín hiệu video, trên thực tế việc giải mã tín hiệu video theo thứ tự là không nhất thiết

Đi cùng với RTP là giao thức RTCP để nhận cácthông tin phản hồi về chất lượng truyền dẫn và các thông tin về thành phần tham dự các phiên truyền hiện thời Không giống như các giao thức khác là sử dụng các trường trong header để thực hiện các chức năng điều khiển, RTP sử dụng một cơ chế điều khiển độc lập trong định dạng của gói tin RTCP để thực hiện các chức năng này

 Cấu trúc header của RTP:

RTP header bao gồm một phần cố định có ở mọi gói RTP và một phần mở rộngphục vụ cho các mục đích nhất định

Phần cố định:

Trang 27

V=2 P X CC M PT Sequence Number

Timestamp Synchronization Source (SSRC) identifier Contributing Source (CSRC) identifier

V – Version (2 bit): Chỉ ra version của RTP, hiện nay là version 2

P – Padding(1 bit): Nếu bit này được đặt, sẽ có thêm một vài octet thêm vào

cuối gói dữ liệu Các octet này không phải là thông tin, chúng được thêm vào

để nhằm mục đích phục vụ cho một vài thuật toán mã hoá thông tin cần kích thước của gói cố định Hay dùng để cách ly các gói RTP trong trường hợp có nhiều gói thông tin được mang trong cùng một đơn vị dữ liệu của giao thức ở lớp dưới

X – Extension (1 bit): nếu bit này được đặt, thì theo sau phần header cố định

sẽ là một header mở rộng

CC – Contributing Sources Count (4 bit): số lượng các thành phần nhận

dạng nguồn CSRC nằm trong phần header gói tin Số này lớn hơn 1 nếu các gói tin RTP đến từ nhiều nguồn

M – Marker (1 bit): được áp dụng trong các hệ thống sử dụng phương pháp

loại bỏ khoảng lặng Bit M sẽ được đặt là 1 ngay sau khi có sự xuất hiện của khoảng lặng

PT – Payload Type (7 bit): xác định loại thông tin được truyền đi

Sequence Number (16 bit): Số thứ tự được đánh tăng dần theo số lượng các

gói RTP được phát đi Phía nhận sẽ sử dụng số thứ tự này để khôi phục lại trật tự các gói, hoặc dùng để phát hiện số lượng gói đã bị mất

Timestamp (32 bit): xác định thời điểm các gói thoại được gửi

Synchronization Source Identifier (SSRC, 32 bit): chỉ ra nguồn đồng bộ

của gói RTP, số này được chọn ngẫu nhiên Trong 1 phiên RTP có thể có

Hình 1.9: Phần cố định của RTP header

Trang 28

nhiều hơn một nguồn đồng bộ Mỗi một nguồn phát ra một luồng RTP Bên thu nhóm các gói của cùng một nguồn đồng bộ lại với nhau để phát lại tín hiệu thời gian thực

Contributing Source Identifier (CSRC, 32 bit): giúp bên thu nhận biết

được gói tin này mang thông tin của những nguồn nào

Phần mở rộng: Cơ chế mở rộng của RTP cho phép những ứng dụng riêng lẻ

của giao thức RTP thực hiện được với những chức năng mới đòi hỏi những thông tin thêm vào phần tiêu đề của gói Cơ chế này được thiết kế để một vài ứng dụng có thể bỏ qua một số ứng dụng khác lại có thể sử dụng được phần nào đó

Cấu trúc của phần tiêu đề mở rộng như hình 1.10

1.4 Giao thức báo hiệu SIP:

SIP (Session Initiation Protocol – giao thức thiết lập kết nối) là một giao thức chuẩn được thiết kế và phát triển bởi tổ chức IETF, nó được sử dụng trong việc truyền thông đa phương tiện thông qua mạng IP, để thiết lập các kết nối VoIP

Giao thức SIP cung cấp một khuôn khổ để thiết lập voice, video, hội thảo và thông điệp văn bản truyền theo kiểu point-to-point Giao thức SIP là một giao thức

Hình 1.10: Phần mở rộng của RTP header

Trang 29

điều khiển ở lớp ứng dụng có thể khởi tạo, thay đổi và kết thúc một phiên truyền thông đa phương tiện như là VoIP Cấu trúc của SIP tương tự như HTTP (giao thức Client – Server) Các yêu cầu được tạo ra bởi các máy client và gửi tới server Server xử lý các yêu cầu và gửi một phản hồi là hai thành phần để tạo ra 1 session Giao thức SIP cho phép thực hiện các thao tác khởi tạo và kết thúc một kết nối VoIP như sau:

 Vị trí người sử dụng (User Location): Xác định thiết bị đầu cuối để sử dụng cho việc truyền thông

 Thiết lập cuộc gọi (Call Setup): Báo chuông và thiết lập các thông thông

số cho bên gọi và được bên nhận

 Sự sẵn sàng của người dùng (User Availability): Xác định sự sẵn sàng của người sử dụng

 Khả năng của người dùng (User Capabilities): Xác định phương tiện và các thông số được sử dụng

 Xử lý cuộc gọi (Call handling): Chuyển giao và kết thúc cuộc gọi

1.4.1 Các thành phần của SIP:

Hai thành phần chính trong hệ thống SIP bao gồm: User Agent và SIP Network Server

1.4.1.1 User Agent – UA:

UA là một ứng dụng để khởi tạo, nhận và kết thúc cuộc gọi Mỗi UA có một UAC (User Agent Client) và một UAS (User Agent Server)

 UAC: chịu trách nhiệm gửi yêu cầu và đón nhận các thông tin trả lời

 UAS: chịu trách nhiệm nhận các yêu cầu và trả lời cho các yêu cầu đó

1.4.1.2 Network Servers:

Network server gồm 4 kiểu: Proxy server, Location server, Redirect server, Register server

Proxy server: là một thiết bị trung gian nhận các yêu cầu SIP từ một

client và sau đó thay mặt cho client chuyển tiếp các yêu cầu đó Về cơ bản, proxy server nhận tin nhắn SIP và chuyển đến các máy chủ SIP khác

Trang 30

trong mạng Các proxy server có thể cung cấp các chức năng như xác thực, ủy quyền, kiểm soát truy cập mạng, định tuyến, phát lại các yêu cầu một cách đáng tin cậy và bảo mật

Redirect server: nhận các thông điệp yêu cầu từ bên gửi, nó sẽ tìm kiếm

thông tin về người nhận trong cơ sở dữ liệu được tạo ra bởi registrar Sau

đó nó sẽ tạo ra một danh sách các vị trí hiện tại của người được gọi đó và gửi thông tin đó về cho người gửi yêu cầu trên Người gửi sẽ trích thông tin từ danh sách các địa chỉ đó và tạo ra yêu cầu mới gửi trực tiếp cho bên nhận

Registrarserver: là server nhận các thông tin đăng ký hay cập nhật thông

tin của người dùng và lưu thông tin đó vào cơ sở dữ liệu của nó Cơ sở dữ liệu này được sử dụng bởi Proxy server, khi Proxy server nhận được một yêu cầu từ một người dùng muốn kết nối tới một tài khoản nào đó thì nó

sẽ tìm kiếm trong cơ sở dữ liệu, sau đó sẽ gửi thông điệp mời đến người dùng có tài khoản đó

Mỗi thông tin đăng ký có một thời gian tồn tại nhất định UA phải làm mới thông tin đăng ký đó trong thời gian nó còn hiệu lực Nếu không nó

sẽ hết hạn và tài khoản user sẽ không còn hiệu lực

Location server: được sử dụng bởi redirect server hoặc proxy server để

lấy thông tin về vị trí của người được gọi

1.4.2 Các loại thông điệp SIP

Có hai kiểu thông điệp SIP là thông điệp yêu cầu (Request) và thông điệp phản hồi (Response), cả hai loại thông điệp này đều bao gồm một dòng start line, một hoặc nhiều trường header,một dòng bỏ trống để cho biết kết thúc phần header,

và một phần tùy chọn message body

Thông điệp yêu cầu: được client gửi đến server Theo tài liệu [7] định

nghĩa 6 kiểu thông điệp request cho phép UA và proxy có thể xác định người dùng, khởitạo, sửa đổi và hủy một phiên: INVITE, ACK, OPTIONS, CANCEL, BYE và REGISTER

Trang 31

Thông điệp phản hồi (Response): Cũng theo tài liệu [7], SIP định nghĩa

6 loại phản hồi đối với các thông điệp mà chúng ta thấy trong phần trước Mỗi loại phản hồi đúng một mã trong một dãy:

 1XX– PROVISIONAL: nhận yêu cầu, tiếp tục xử lý yêu cầu

 2XX – SUCCESS: cho biết yêu cầu nhận được và chấp nhận

 3XX – REDIRECTION: cho biết cần có bản tin khác để hoàn thành yêu cầu

 4XX – CLIENT ERROR: cho biết yêu cầu chứa cấu trúc sai hoặc không được phản hồi ở server

 5XX – SERVER ERROR: cho biết server không thể phản hồi được yêu cầu có cấu trúc hợp lệ

 6XX – GLOBAL FAILURE: cho biết yêu cầu không thể xử lý được ở bất cứ server nào

1.4.3 Giao thức đặc tả phiên SDP (Session DescriptionProtocol):

SIP sử dụng SDP để mô tả các thông số truyền thông cho một cuộc gọi, các thông số truyền thông này là các thông tin về băng thông, các chuần mã hóa audio, video và một số các thông tin khác Các thành phần trong SDP được miêu tả thông qua các trường sau:

Protocol Version (“v=”) – Phiên bản giao thức:

Trường này có dạng: v= (số phiên bản)

Origin (“o=”)–Thông tin về người khởi tạo phiên:

Trường này có dạng: o=<username><session id><version><network type><address type><address>

 <username> là tên người đăng nhập vào máy chủ, hoặc là “-” nếu máy chủ không hỗ trợ nội dụng định danh người sử dụng Trường username phải có giá trị, không được là khoảng trống

 <session id> là một chuỗi số mà ứng với các hình thể

<username>,<session id>, <network type>, <address type> và

<address> là một định danh độc nhất cho phiên <session id> tuỳ

Trang 32

vào công cụ tạo ra nhưng nó xuất phát từ giao thức NTP (Network Time Protocol)

 <version> là số phiên bản

 <network type> là một số đại diện cho kiểu mạng Khởi tạo là

“IN” được định nghĩa cho mạng Internet

 <addresss type> là một số đại diện cho kiểu địa chỉ cho phép Khởi tạo là IP4 hay IP6

 <address> là địa chỉ duy nhất của máy nơi phiên được tạo ra

Session Name ("s=") – Tên phiên

s=<session name> Chỉ có một dòng trong mô tả và phải chứa các ký tự tuân theo ISO 10646

Connection Data (“c=”) – Thông tin kết nối:

c=<network type><address type><connection address>

 Trường đầu tiên là kiểu mạng được định nghĩa như trên

 Trường thứ hai là kiểu địa chỉ cũng được định nghĩa như trên

 Trường thứ ba là địa chỉ kết nối đến

Timing (“t=”) – Thông tin mô tả thời gian

t = <start time><stop time>

Media Descriptions ("m=") – Miêu tả truyền thông

m = <media><port><transport><fmt list>

 <media>là kiểu truyền thông Ví dụ như "audio", "video",

"application", "data" và "control"

 <port> là cổng vận chuyển

 <transport> là giao thứ vận chuyển Giá trị phụ thuộc vào trường

địa chỉ c

 <fmt list> là một mô tả định dạng phương tiện truyền thông

Attributes (“a=”) – Một số thuộc tính

 a=rtpmap: mô tả các thông tin về chuẩn codecs

Trang 33

 a=fmtp: thường được sử dụng để mô tả các thông tin về độ phân giải của video codecs

 a=sendonly: cho biết chế độ chỉ gửi không nhận các gói tin media

 a=recvonly: chỉ nhận không gửi các gói tin media

 a=sendrecv: vừa nhận vừa gửi các gói tin media

Phần message body mặc định trong các bản tin SIP là application/sdp Phía gọi liệt kê một danh sách về khả năng media mà nó hỗ trợ trong phần message body của thông điệp INVITE hoặc thông điệp ACK Đối tượng được gọi liệt kê khả năng media mà nó hỗ trợ trong thông điệp phản hồi 200 OK cho thông điệp INVITE Trong một thông điệp SIP phần message body nên có các trường của giao thức SDP sau: version(V), origin(O), subject(S), time(T), connection(C), và một hoặc vài trường mô tả về các chuẩn audio codecs, video codecs Các trường O, S, T không được sử dụng trong giao thức SIP, nhưng đây là các trường bắt buộc của giao thức SDP nên chúng cần được thêm vào nhằm mục đích cho tính tương thích SIP sử dụng các trường C, M, A của giao thức SDP để thiết lập một phiên đa phương tiện giữa các UA

Ví dụ: phía gọi HaiLy muốn thiết lập một cuộc gọi với hai chuẩn audio codecs được mô tả bằng SDP và được gửi đi trong thông điệp INVITE:

Trang 34

1.4.5 Mô tả cuộc gọi thông qua SIP:

Với hệ thống VoIP ta có thể triển khai những mô hình gọi có thể là rất đơn giản cho đến phức tạp Mô hình đơn gian như triển khai gọi giữa PC với PC và phức tạp hơn như mô hình gồm nhiều proxy Mỗi proxy ở đây có thể xem như là một chi nhánh và khi đó nhiều proxy sẽ tương ứng với nhiều chi nhánh kết nối với nhau Ngoài ra mô hình VoIP hoàn chỉnh là sự kết hợp giữa các mạng LAN, WAN, PSTN… Khi đó ta có thể gọi cho nhau ở bất cứ mạng nào

 Mô hình thực hiện việc gọi điện giữa 2 máy sử dụng một proxy server

Hình 1.11 dưới đây mô tả một phiên thiết lập cuộc gọi giữa 2 máy tính với một proxy server Những thông điệp SIP đã được chụp lại khi thực hiện cuộc gọi theo mô hình PC to PC, giữa user 200 (Minh Dung) có địa chỉ

ip là 192.168.100.101 gọi tới user 201 (Hai Ly) có địa chỉ ip là 192.168.100.102 qua server có ip là 192.168.100.231

Trang 35

Bước 1: User 200 gọi đến user 201 Thông điệp INVITE sẽ được gửi từ user 200

có địa chỉ IP 192.168.100.101 đến server địa chỉ IP 192.168.100.231

Bước 2: Ngay khi server nhận được bản tin INVITE từ user 200, nó lập tức gửi bản

tin 100 Trying và OK để thông báo rằng nó đã nhận được yêu cầu của user 200 và đang cố gắng thực hiện yêu cầu đó

Bước 3: Khi user 200 nhận được hồi đáp của server nó sẽ gửi thông điệp ACK để

thông báo cho server là nó đã nhận được phản hồi của server

Bước 4: Proxy sau khi nhận được thông điệp từ user 200 gửi tới nó có trách nhiệm

chuyển tiếp thông điệp đó cho user 201, lúc này trường To sẽ thay đổi bằng địa chỉ của máy 201: 192.168.100.102

Hình 1.11: Mô hình thực hiện việc gọi điện giữa 2 máy sử dụng

ACK Voice RTP

BY BY

2

200

200 OK

Trang 36

Bước 5: Trong trường hợp này user 201 chấp nhận kết nối với user 200 và gửi lại

thông điệp 180 Ring ngược về user 200, thông qua proxy

Bước 6: User 201 nhấc máy đồng ý kết nối với user 200 bằng thông điệp 200 OK Bước 7: Server gửi thông điệp ACK báo đã nhận được tín hiệu 200 OK được gửi

từ user 201 Sau đó tiến hành đàm thoại

Bước 8: Khi User 201 cúp máy sẽ gửi thông điệp BYE đến user 200 thông qua

proxy để kết thúc cuộc gọi

Bước 9: Khi nhận được thông điệp BYE, server sẽ báo đã nhận được yêu cầu kết

thúc cuộc gọi của user 201 bằng thông điệp 200 OK và chuyển tiếp thông điệp BYE tới user 200

Bước 10: Khi user 200 nhận được thông báo kết thúc cuộc gọi từ server nó sẽ gửi

thông điệp OK để kết thúc cuộc gọi

1.5 Hệ thống Asterisk

1.5.1 Giới thiệu Asterisk

Asterisk là một “phần mềm mã nguồn mở” được cài đặt trên một máy tính

PC có các giao tiếp tương ứng đi kèm với phần cứng, có thể được sử dụng như là một PBX cho phép các điện thoại nhánh (extensions) thực hiện các cuộc gọi với nhau và kết nối với các hệ thống điện thoại khác bao gồm cả mạng điện thoại analog thông thường (PSTN) và VoIP Asterisk có đầy đủ tính năng của một tổng đài PBX thương mại như: phân luồng cuộc gọi, thư thoại, hội đàm … phù hợp cho người sử dụng gia đình, công ty, các nhà cung cấp dịch vụ VoIP và viễn thông Asterisk còn là một cộng đồng mã nguồn mở và là một sản phẩm thương mại của Digium Chúng ta có thể sử dụng miễn phí Asterisk và thay đổi mã nguồn tự do để phù hợp với các yêu cầu trên hệ thống của mình

1.5.2 Lịch sử của Asterisk

Năm 1999, Mark Spencer – tác giả của Asterisk, gặp phải một vấn đề: ông muốn mua một hệ thống PBX cho công ty của mình để họ có thể có hộp thư thoại

Trang 37

(voicemail), gọi điện tới các văn phòng khác nhau trong công ty mà không phải trả cước cho các cuộc gọi và làm tất cả những điều khác mà người ta mong đợi từ một

hệ thống PBX Tuy nhiên, sau khi nghiên cứu những lựa chọn của mình một cách

kỹ lưỡng, Mark Spencer nhận ra rằng những hệ thống PBX thương mại lúc bấy giờ

có giá quá đắt Không nản lòng, Mark Spencer đã quyết định tự xây dựng một tổng đài phù hợp với yêu cầu của mình và kết quả là Asterisk ra đời

Ngày 05/12/1999 Asterisk 0.1.0 ra đời

Ngày 23/09/2004, sau nhiều đóng góp của những nhà phát triển và người dùng, Mark Spencer đã cho ra Asterisk 1.0 với nhiều tính năng hơn Asterisk 1.0 là phiên bản mã nguồn mở ổn định với nhiều tính năng ấn tượng vào thời điểm đó, nó bao gồm một hệ thống hội thoại hoàn chỉnh, hộp thư thoại, khả năng giao tiếp ấn tượng với các thiết bị analog và khả năng giao tiếp đáng tin cậy với ba giao thức của VoIP (H.323, SIP, IAX)

Với việc phát triển không ngừng, ngày 17/11/2005 Asterisk 1.2 ra đời với hơn 3000 code được sửa lại, bao gồm những cải tiến về lõi của phần mềm, nhiều giao thức VoIP hơn, và khả năng mở rộng tốt hơn

Hiện nay, Asterisk đang trên đà phát triển rất nhanh được rất nhiều doanh nghiệp triển khai cho công ty của mình Đây là một xu thế tất yếu của người sử dụng điện thoại Vì các công ty đều có hệ thống mạng máy tính và nhu cầu liên lạc với nhau trong công việc giữa các nhân viên, phòng ban, giữa các chi nhánh là rất cao, nên việc triển khai một hệ thống tổng đài trên hệ thống mạng có sẵn với việc không tốn chi phí cho các cuộc gọi nội bộ trong mạng công ty hoặc cần một chi phí thấp cho việc gọi điện ra mạng PSTN là điều mong muốn của bất cứ công ty, doanh nghiệp nào

Trang 38

Asterisk có một số chức năng chính đóng vai trò quan trọng trong hệ thống chuyển mạch cuộc gọi Khi khởi động hệ thống Asterisk thì chức năng Dynamic Module Loader thực hiện nạp driver của thiết bị, nạp các kênh giao tiếp, các format, codec và các ứng dụng liên quan, đồng thời các hàm APIcũng được liên kết nạp vào

hệ thống

Sau đó hệ thống PBX Swiching Core của Asterisk chuyển sang trạng thái sẵn sàng hoạt động chuyển mạch cuộc gọi, các cuộc gọi được chuyển mạch tùy vào dial plan được cấu hình trong file extensions.conf Chức năng Application Launcher

Hình 1.12: Kiến trúc Asterisk

Application Laugher

Scheduler and I/O Manager

PBX Swiching Core Dynamic Module

Loader

Conferencing, Voicemail, Calling Card, Dialing …

Asterisk Application API

SIP, H.323, IAX, MGCP, Custom Hardware …

Asterisk Channel API

Trang 39

dùng để rung chuông thuê bao, quay số, định hướng cuộc gọi, kết nối với hộp thư thoại…

Scheduler and I/O Manager đảm nhiệm các ứng dụng nâng cao, 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 thức như SIP, Zaptel, IAX nên hệ thống Asterisk phải đảm trách nhiệm vụ liên kết các giao thức khác nhau đó để xử lý cuộc gọi

 Kiến trúc Asterisk bao gồm 4 chức năng API chính:

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

hệ thống Asterisk như Voicemail, CallerID …

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ư: gsm, wav,mp3 …

Asterisk Channel API: Giao tiếp với các kênh lệnh 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, IAX, H.323 …

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ư G723, GSM, Linear …

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 Nói chung, khả năng viết các ứng dụng tùy biến rất lớn

1.5.5 SIP trong Asterisk

Giao thức SIP trong Asterisk có ba dạng sau:

 SIP client: điều này có nghĩa là Asterisk đăng kí như một máy khách (user) tới một server SIP khác Nó sẽ nhận hoặc thực hiện cuộc gọi từ server này

Trang 40

 SIP server: Asterisk được cấu hình mặc định là vậy, những SIP client

sẽ đăng kí tới server Asterisk và thiết lập phiên kết nối với server này thông qua giao thức SIP

 SIP Gateway: Asterisk xem như là media gateway giữa các giao thức SIP, H.323, IAX và những mối liên kết với mạng PSTN

Mỗi SIP client hay SIP server được định nghĩa thông qua việc cấu hình nó trong file sip.conf, và có cấu trúc như sau:

[username] ; Tên của SIP Client, có thể là kí tự hoặc số

Type = thuộc tính ; trong đó thuộc tính có thể là:

 User: Được sử dụng để xác thực cuộc gọi vào

 Peer: Được sử dụng để xác thực cuộc gọi ra

 Friend: Được sử dụng cho cả hai mục đích trên

Secret=*** ; mật khẩu của user

Context = contexts ; những user trong cùng một context thì mới có thể liên

lạcđược với nhau

Host = dynamic (hoặc một địa chỉ IP cụ thể) ;nếu là dynamic thì user có thể

đăng kí tới tổng đài Asterisk bằng bất cứ địa chỉ IP nào, còn nếu là một địa chỉ IP cụ thể thì user chỉ đăng kí tới tổng đài Asterisk bằng duy nhất địa chỉ

IP đó

Nat=yes (hoặc no) ; cho phép NAT ở môi trường mạng có địa chỉ IP ở các

lớp khác nhau hay không

Port=5060 ; port để kết nối tới các user khác, mặc định của SIP là 5060 Mailbox=username@vm-context ; thiết lập hộp thư thoại cho user

Allow=xyz ; trong đó xyz là những codec được Asterisk hỗ trợ

… và một số thông số khác

Ví dụ:[200]

type=friend secret=abc123 context=incoming

Ngày đăng: 28/10/2014, 21:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đào Ngọc Anh, “Nghiên cứu giao thức trong mạng VoIP”, Trường Đại Học Quốc Gia Hà Nội, 2008 Sách, tạp chí
Tiêu đề: “Nghiên cứu giao thức trong mạng VoIP”
[2] Lê Quốc Toàn – “Sách Asterisk tiếng Việt”. TIẾNG ANH Sách, tạp chí
Tiêu đề: “Sách Asterisk tiếng Việt”
[3] Alan B.Johnson, “SIP Understanding The Session Initiation Protocol”, Artech House, 2009 Sách, tạp chí
Tiêu đề: SIP Understanding The Session Initiation Protocol”
[4] Benjamin Jackson, Champ Clark, “Asterisk Hacking”, Syngress, 2007 Sách, tạp chí
Tiêu đề: “Asterisk Hacking”
[5] David Gomillion and Barrie Dempster, “Building Telephony Systems with Asterisk”, Packt Publishing, September, 2005 Sách, tạp chí
Tiêu đề: “Building Telephony Systems with Asterisk”
[6] Henry Sinnreich, Alan B. Johnston, “Wiley Internet Communications Using SIP Delivering VoIP and Multimedia Services with Session Initiation Protocol , 2nd Edition”, July, 2006 Sách, tạp chí
Tiêu đề: “Wiley Internet Communications Using SIP Delivering VoIP and Multimedia Services with Session Initiation Protocol , 2nd Edition”
[7] RFC 3261, “SIP - Session Initiation Protocol” Sách, tạp chí
Tiêu đề: “SIP - Session Initiation Protocol
[8] RFC 3550, “RTP: A Transport Protocol for Real-Time Applications” INTERNET Sách, tạp chí
Tiêu đề: “RTP: A Transport Protocol for Real-Time Applications”
[9] Session Initiation Protocol – http://en.wikipedia.org/wiki/Session_Initiation_Protocol Sách, tạp chí
Tiêu đề: Session Initiation Protocol
Nhà XB: Wikipedia
[12] Diễn đàn tham khảo các vấn đề liên quan đến VoIP –http://voip-info.org [13] Xây dựng tính năng Conference Call –https://wiki.asterisk.org/wiki/display/AST/ConfBridge+10 Sách, tạp chí
Tiêu đề: Diễn đàn tham khảo các vấn đề liên quan đến VoIP
[10] Diễn đàn Asterisk Việt Nam–http://my.opera.com/asteriskvn [11] Session Description Protocol–http://phuongot.wordpress.com/2011/04/19/session-description-protocol-sdp/ Link

HÌNH ẢNH LIÊN QUAN

Hình 1.4: Mối liên hệ giữa mô hình OSI và mô hình TCP/IP - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 1.4 Mối liên hệ giữa mô hình OSI và mô hình TCP/IP (Trang 19)
Hình 1.11: Mô hình thực hiện việc gọi điện giữa 2 máy sử dụng - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 1.11 Mô hình thực hiện việc gọi điện giữa 2 máy sử dụng (Trang 35)
Hình 1.12: Kiến trúc Asterisk. - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 1.12 Kiến trúc Asterisk (Trang 38)
Hình 2.9: Login vào FreePBX - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 2.9 Login vào FreePBX (Trang 57)
Hình 2.12: Thông tin cho extensions mới (1) - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 2.12 Thông tin cho extensions mới (1) (Trang 59)
Hình 2.22: Outbound Routes (231) - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 2.22 Outbound Routes (231) (Trang 74)
Hình 3.1: Chương trình softphone X-Lite  Hình 3.2: Cửa sổ SIP Account - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 3.1 Chương trình softphone X-Lite Hình 3.2: Cửa sổ SIP Account (Trang 77)
Hình 3.3: Đăng kí tài khoản thành công - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 3.3 Đăng kí tài khoản thành công (Trang 78)
Hình 3.6: Gọi từPSTN vào các extension - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 3.6 Gọi từPSTN vào các extension (Trang 80)
Hình 3.9 : Nghe lại tin nhắn Voicemail - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 3.9 Nghe lại tin nhắn Voicemail (Trang 83)
Hình 3.10 : Tham gia hội thoại - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 3.10 Tham gia hội thoại (Trang 84)
Hình 3.11: Tình trạng tổng đài - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 3.11 Tình trạng tổng đài (Trang 85)
Hình 3.14: Memory usage  Hình 3.12: Network usage - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 3.14 Memory usage Hình 3.12: Network usage (Trang 86)
Hình 3.22: Đường trunk tới Gateway sử dụng SIM - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 3.22 Đường trunk tới Gateway sử dụng SIM (Trang 96)
Hình 3.24: Đường route gọi ra ngoài theo nhà mạng Vinaphone - Nghiên cứu tổng đài VOICE IP và cài đặt hệ thống tổng đài VOICE IP cho mạng LAN
Hình 3.24 Đường route gọi ra ngoài theo nhà mạng Vinaphone (Trang 97)

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

🧩 Sản phẩm bạn có thể quan tâm

w