NHIỆM VỤ VÀ NỘI DUNG: Thiết kế hệ thống VoIP cho nhà cung cấp dịch vụ có khả năng hỗ trợ số lượng cuộc gọi lớn, đáp ứng các yêu cầu của một nhà cung cấp dịch vụ bao gồm khả năng dự phòn
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
Trang 2Cán bộ hướng dẫn khoa học: Tiến sĩ Lưu Thanh Trà
………
………
………
………
………
Cán bộ chấm nhận xét 1 : Tiến sĩ Đặng Thành Tín ………
………
………
………
………
Cán bộ chấm nhận xét 2: Tiến sĩ Võ Quế Sơn ………
………
………
………
………
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.HCM ngày 26 tháng 12 năm 2012
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1 TS Đỗ Hồng Tuấn
2 TS Đặng Thành Tín
3 TS Lưu Thanh Trà
4 TS Võ Quế Sơn
5 TS Võ Nguyễn Quốc Bảo Xác nhận của Chủ tịch Hội đồng đánh giá luận văn và Bộ môn quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
Trang 3
NHI ỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Cao Hữu Thuyết……… MSHV: 10140026
Ngày, tháng, năm sinh: 20/12/1980………Nơi sinh: Thanh Hóa
Chuyên ngành: Kỹ thuật Điện tử……… Mã số: 605270
I TÊN ĐỀ TÀI: Xây dựng hệ thống VoIP trả trước cho các nhà cung cấp dịch vụ
II NHIỆM VỤ VÀ NỘI DUNG: Thiết kế hệ thống VoIP cho nhà cung cấp dịch
vụ có khả năng hỗ trợ số lượng cuộc gọi lớn, đáp ứng các yêu cầu của một nhà cung
cấp dịch vụ bao gồm khả năng dự phòng, khả năng mở rộng, tính cước
III NGÀY GIAO NHI ỆM VỤ : 06/02/2012
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 23/11/2012
V CÁN BỘ HƯỚNG DẪN: Tiến sĩ Lưu Thanh Trà
Trang 4L ỜI CÁM ƠN
Chân thành bày t ỏ lòng biết ơn Thầy TS Lưu Thanh Trà đã trực tiếp hướng
d ẫn, tận tình chỉ bảo và tạo mọi điều kiện thuận lợi nhất, giúp đỡ tôi hoàn thành Luận Văn này
Chân thành c ảm ơn Quý Thầy Cô chuyên ngành Kỹ Thuật Điện Tử, Trường Đại Học Bách Khoa Tp Hồ Chí Minh đã hết lòng giảng dạy, truyền đạt kiến thức
và giúp đỡ tôi trong suốt thời gian học tập tại Trường
Chân thành cám ơn Phòng Đào Tạo Sau Đại Học, Trường Đại Học Bách Khoa Tp H ồ Chí Minh đã tạo điều kiện tốt cho tôi về trang thiết bị và tài liệu học tập trong suốt khóa học
Chân thành cám ơn các bạn học viên cao học K20 10 và gia đình đã ủng hộ, giúp đỡ tôi trong học tập và thực hiện Luận Văn này
TP.HCM, ngày 23 tháng 11 năm 2012
Trang 5ABSTRACT
Currently, VoIP systems in the world has strongly developed, and Viet Nam quickly grasps this trend The implemention of a scalable VoIP system is a very important issue This thesis concentrates to develop a prepaid VoIP system with large capacity for service providers, and comes to meet the needs we discuss above The topology used to develop has two main parts, the first is a PBX, and the second
is a gateway communicating with other service providers - supporting both VoIP and the traditional PSTN system The former has a large capacity, while the latter has the ability to offer a variety of applications for subscribers
In this thesis, we test the topology that we propose above to demonstrate the feasibility of the system To verify the load capacity as well as the functional requirements of the system, we use some testing tools to generate local or internetwork calls that can be changeable in order to test the performance of the system These testing tools show details of call’s parameters and the system’s status Finally, the result is that local and internetwork calls are established successfully; the system supports accounting internetwork calls and manages subscribers clearly Besides, the system is scalable and safe These results show that
it is feasible to implement an actual system
Trang 6Tóm tắt Trang ii HVTH: KS Cao Hữu Thuyết
TÓM T ẮT
Hiện nay các hệ thống VoIP trên thế giới đã và đang phát tri ển mạnh mẽ, tại Việt Nam cũng không ph ải là ngoại lệ Để có thể ứng dụng tại Việt Nam, việc nghiên cứu thử nghiệm triển khai một hệ thống VoIP dung lượng lớn là một vấn đề
hết sức quan trọng Đề tài này tập trung xây dựng một hệ thống VoIP trả trước (và trả sau) cho các nhà cung cấp dịch vụ có dung lượng lớn, và nhắm đến đáp ứng được các mong muốn trên
Mô hình đưa ra để xây dựng trong đề tài này bao gồm hai phần chính, một là tổng đài nội bộ, hai là tổng đài giao tiếp với các nhà cung cấp khác (Gateway) - hỗ
trợ giao tiếp với cả hệ thống VoIP cũng như PSTN truyền thống Trong khi dung lượng lớn là điểm mạnh của tổng đài nội bộ, thì Gateway có khả năng cung cấp nhiều ứng dụng cho thuê bao hơn
Trong luận văn này, chúng tôi tiến hành thực nghiệm mô hình mà chúng tôi đề xuất trong luận văn để minh chứng tính khả thi của hệ thống Để kiểm định khả năng chịu tải cũng như các chức năng được yêu cầu của hệ thống, chúng tôi sử dụng công cụ để tạo ra các cuộc gọi với số lượng thay đổi nhằm kiểm tra hiệu suất của hệ thống, kể cả cuộc gọi nội bộ và liên mạng Công cụ kiểm tra này thể hiện rõ các thông số về cuộc gọi và trạng thái của hệ thống Kết quả là thực hiện thành công các
cuộc gọi nội bộ và liên mạng; cung cấp một số dịch vụ căn bản của tổng đài; có khả năng tính cước các cuộc gọi liên mạng và quản lý các thuê bao một cách trực quan Ngoài ra, hệ thống có khả năng mở rộng và dự phòng Kết quả thực hiện này cho
thấy việc áp dụng và triển khai hệ thống thực tế là hoàn toàn khả thi
Trang 7L ỜI CAM ĐOAN
Tôi cam đoan công trình này đư ợc hoàn thành bởi chính sự nỗ lực của bản thân tôi, không sao chép Tôi xin chịu hoàn toàn trách nhiệm về nội dung công trình này
Trang 8Mục lục Trang iv HVTH: KS Cao Hữu Thuyết
M ỤC LỤC
ABSTRACT i
TÓM T ẮT ii
LỜI CAM ĐOAN iii
MỤC LỤC iv
CÁC TỪ VIẾT TẮT vi
DANH M ỤC HÌNH VẼ vii
CHƯƠNG 1 ĐẶT VẤN ĐỀ 1
1.1 Khảo sát thực tế trong và ngoài nước 1
1.1.1 Trong nước 1
1.1.2 Ngoài nước 1
1.2 Định hướng thiết kế hệ thống VoIP 2
CHƯƠNG 2 MÔ HÌNH VOIP 3
2.1 Giới thiệu 3
2.2 Kiến trúc hệ thống VoIP 3
2.3 Giao thức trong VoIP 4
2.3.1 Giao thức SIP 5
2.3.2 Giao thức RTP 12
2.3.3 Giao thức RTCP 13
2.4 Các mô hình VoIP trong thực tế 13
2.4.1 Mô hình VoIP cho doanh nghiệp vừa và nhỏ 13
2.4.2 Mô hình VoIP cho doanh nghiệp lớn 13
2.4.3 Mô hình VoIP cho ISP – Các nhà cung cấp dịch vụ 14
2.4.4 So sánh giữa các mô hình 14
CHƯƠNG 3 MÔ HÌNH VOIP CHO ISP 16
3.1 Thiết kế Mô hình VoIP cho ISP 16
3.1.1 Yêu cầu thiết kế 16
3.1.2 Phân tích yêu cầu 16
3.1.3 Lựa chọn phương án thiết kế 17
3.2 Triển khai hệ thống 18
3.2.1 Xây dựng Server Opensips 20
3.2.2 Xây dựng Gateway sử dụng Asterisk 30
Trang 93.2.3 Xây dựng Trunk hệ thống 42
3.2.4 Xây dựng các giải pháp an toàn hệ thống 47
3.2.5 Thực hiện tính cước 55
CHƯƠNG 4 HỆ THỐNG THỬ NGHIỆM 62
4.1 Mô hình hệ thống thử nghiệm 62
4.2 Kịch bản và kết quả thực hiện 63
4.2.1 Thiết lập cuộc gọi nội bộ Server Opensips 63
4.2.2 Thiết lập cuộc gọi giữa các Server Opensips 64
4.2.3 Thiết lập cuộc gọi ra PSTN thông qua Gateway Asterisk 66
4.2.4 Thiết lập cuộc gọi khi cân bằng tải 68
4.2.5 Thiết lập cuộc gọi khi không còn cân bằng tải 70
4.2.6 Thiết lập cuộc gọi từ ngoài PSTN vào Server Opensips 73
4.2.7 Thiết lập cuộc gọi khi xảy ra sự cố tổng đài 74
4.3 Tính cước cuộc gọi: 77
CHƯƠNG 5 HIỆU SUẤT HỆ THỐNG THỬ NGHIỆM 79
5.1 Khảo sát các công cụ kiểm tra hệ thống 79
5.2 Yêu cầu kiểm tra 79
5.3 Lựa chọn công cụ kiểm tra 80
5.4 Đánh giá hiệu suất Tổng đài Asterisk bằng SIPp 81
5.5 Đánh giá hiệu suất Tổng đài Opensips bằng SIPp 87
CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 91
6.1 Kết luận 91
6.2 Hướng phát triển 91
TÀI LIỆU THAM KHẢO 93
PHỤ LỤC 95
Trang 10Các từ viết tắt Trang vi HVTH: KS Cao Hữu Thuyết
CÁC T Ừ VIẾT TẮT
HTTP Hypertext Transfer Protocol
IETF Internet Engineering Task Force
IVR Interactive Voice Response
MGCP Media Gateway Control Protocol
MINE Multipurpose Internet Mail Extension
PSTN Public Switched Telephone Network
RSVP Resource Reservation Protocol
RTP Real-Time Transport Protocol
RTCP Real-time Transport Control Protocol
RTSP Real Time Streaming Protocol
SAP Session Advertisement Protocol
SDP Session Description Protocol
SIP Sessions Initial Protocol
SRTP Secure Real-Time Transport Protocol
TLS Transport Layer Security
VNPT Vietnam Posts and Telecommunications Group
VDC Vietnam Datacommunication Company
VoIP Voice Over Internet Protocol
Trang 11DANH M ỤC HÌNH VẼ
CHƯƠNG 2 MÔ HÌNH VOIP
Hình 2.1: Thành phần mô hình VoIP 4
Hình 2.2: Mô hình Proxy Server 5
Hình 2.3: Mô hình Redirect Server 6
Hình 2.4: Quá trình xử lý cuộc gọi của Proxy Server 8
Hình 2.5: Quá trình xử lý cuộc gọi của Redirect Server 10
CHƯƠNG 3 MÔ HÌNH VOIP CHO ISP Hình 3.1: Mô hình VoIP ISP 19
Hình 3.2: File Makefiles chưa sửa đổi 22
Hình 3.3: File Makefiles đã sửa đổi 22
Hình 3.4: File Opensipsctlrc chưa sửa đổi 23
Hình 3.5: File Opensipsctlrc đã sửa đổi 23
Hình 3.6: Lưu đồ giải thuật Core Opensips 27
Hình 3.7: Giao diện Opensips Database 29
Hình 3.8: Giao diện Subcribers table 29
Hình 3.9: Giao diện Elastix 31
Hình 3.10: Cài đặt Voicemail 33
Hình 3.11: Giao diện cấu hình meetme conference 34
Hình 3.12: Conferece “meeting” 36
Hình 3.13: Giao diện cấu hình IVR 37
Hình 3.14: Giao diện cấu hình IVR chi tiết 38
Hình 3.15: Giao diện cấu hình Parking Lot 39
Hình 3.16: Thư mục favourite chứa các file âm thanh tùy chọn 41
Hình 3.17: Nội dung file musiconhold.conf 41
Hình 3.18: Nội dung file musiconhold_additional.conf 42
Hình 3.19: Các bản tin thực hiện Proxy Server 43
Hình 3.20: Thiết lập nhóm address được phép kết nối 47
Trang 12Danh mục hình vẽ Trang viii HVTH: KS Cao Hữu Thuyết
Hình 3.21: Sơ đồ cân bằng tải 48
Hình 3.22: Group Load balancing 48
Hình 3.23: Mô hình Dự phòng Opensips Server 51
Hình 3.24: Mô hình Dự phòng Gateway 53
Hình 3.25: Cài đặt chế độ thăm dò gateway 54
Hình 3.26: Giao diện A2Billing trong Elastix 60
CHƯƠNG 4 HỆ THỐNG THỬ NGHIỆM Hình 4.1: Mô hình thử nghiệm hệ thống VoIP ISP 62
Hình 4.2: Kịch bản gọi nội bộ Server Opensips 63
Hình 4.3: Kết quả cuộc gọi nội bộ 64
Hình 4.4: Kịch bản gọi liên Server Opensips 65
Hình 4.5: Kết quả cuộc gọi liên tổng đài 66
Hình 4.6: Kịch bản gọi từ Server Opensips ra Gateway 67
Hình 4.7: Kết quả gọi ra PSTN thông qua gateway 68
Hình 4.8: Kết quả gọi ra PSTN thông qua gateway khi cân bằng tải 69
Hình 4.9: Kết quả cuộc gọi khi cân bằng tải 70
Hình 4.10: Kết quả gọi ra PSTN thông qua gateway khi quá tải 71
Hình 4.11: Packet báo hiệu quá tải dịch vụ 72
Hình 4.12: Trạng thái điện thoại báo Gateway bận 72
Hình 4.13: Kết quả gọi ra từ PSTN vào Server Opensips thông qua gateway 73 Hình 4.14: Kết quả gọi từ PSTN vào nội bộ 74
Hình 4.15: Kết quả gọi khi xảy ra Redundancy Gateway 2 75
Hình 4.16: Kết quả gọi khi Gateway 2 tốt trở lại 75
Hình 4.17: Kịch bản dự phòng Opensips Server 76
Hình 4.18: Mô hình thử nghiệm tính cước 77
Hình 4.19: Cuộc gọi thành công có tính cước 78
CHƯƠNG 5 HIỆU SUẤT HỆ THỐNG THỬ NGHIỆM Hình 5.1: Bản tin SIP khi SIPp là một UAC 80
Hình 5.2: Bản tin SIP khi SIPp là một UAS 81
Trang 13Hình 5.3: Các bản tin SIP được lập bởi SIPp UAC 83
Hình 5.4: Số lượng các cuộc gọi chi tiết 84
Hình 5.5: Cuộc gọi khi hệ thống nghẽn 85
Hình 5.6: Thống kê chi tiết các cuộc gọi 86
Hình 5.7: Bản tin SIP khi UAC SIPp giao tiếp với Opensips Proxy 87
Hình 5.8: Opensips bắt đầu trễ gói gây nên hiện tượng truyền lại 89
Hình 5.9: Opensips bắt đầu đánh mất cuộc gọi 90
DANH M ỤC BẢNG Bảng 2.1: Bản tin SIP Request 7
Bảng 2.2: Bản tin SIP Response 7
Bảng 2.3: Các trường trong bản tin SIP 8
Bảng 2.4: So sánh các mô hình VoIP 14
Bảng 4.1: Bảng địa chỉ IP các Server 63
Trang 14Đặt vấn đề Trang 1 HVTH: KS Cao Hữu Thuyết
CHƯƠNG 1 ĐẶT VẤN ĐỀ
Hệ thống VoIP (Voice over Internet Protocol – Giao thức truyền thoại trên nền Internet) [1] ngày càng được ứng dụng nhiều trên thế giới do những tính năng nổi
trội bao gồm chi phí triển khai thấp, cước cuộc gọi thấp, khả năng tích hợp nhiều
dịch vụ ngoài thoại Trong chương này, chúng tôi lược lại hiện trạng trong và ngoài nước các ứng dụng cũng như công trình xây dựng trên công nghệ VoIP, sau đó đưa
ra định hướng và mục tiêu của đề tài
1.1 Khảo sát thực tế trong và ngoài nước
1.1.1 Trong nước
Tại Việt Nam hiện có nhiều nhà cung cấp các dịch vụ VoIP, đó là các dịch vụ
kết hợp trong hệ thống của PSTN như: 178 của Viettel, 171 của Tập đoàn Bưu chính Viễn thông Việt Nam (VNPT), 177 của Saigon Postel, 179 của EVNTelecom trước kia, hay Fone1718 của Công ty Điện toán và Truyền số liệu Việt Nam (VDC) Đây đều là ứng dụng của VoIP trên đường truyền trung gian, chỉ sử dụng Analog PSTN khi đến đầu cuối, nên mức cước phí khi sử dụng các dịch vụ này rẻ hơn dịch
vụ PSTN truyền thống
Nhiều doanh nghiệp Việt Nam cũng đang chuyển sang sử dụng VoIP để giảm chi phí liên lạc giữa các chi nhánh với nhau, cũng như tránh các rắc rối khi mở rộng
hệ thống như ở hệ thống Analog Hiện tại, VDC cũng đang nghiên cứu và xây dựng
một hệ thống VoIP với dung lượng cuộc gọi rất lớn, hứa hẹn sẽ làm thay đổi nhiều
về bức tranh VoIP tại Việt Nam
1.1.2 Ngoài nước
Trên thế giới VoIP đã và đang chứng minh vai trò to lớn của mình trong việc thay thế dịch vụ điện thoại truyền thống Nhiều hệ thống VoIP lớn đang được các tập đoàn khổng lồ triển khai và phát triển mạnh mẽ ví như: Skype, Google Voice, Office Communication, Yahoo Messenger, Viber… Chất lượng thoại những hệ
thống này phụ thuộc vào băng thông internet, hiện tại tuy không hoàn toàn tốt như
Trang 15công nghệ chuyển mạch cứng nhưng có cước phí rất rẻ (hoặc miễn phí) và hoàn toàn đáp ứng được nhu cầu thoại thông thường của khách hàng Đặc biệt khi mà công nghệ truyền dẫn trên nền internet đang ngày càng phát triển nhanh thì chất lượng thoại là điều không còn đáng lo ng ại trong tương lai Hơn nữa, nhiều hệ
thống VoIP được phát triển trên nền TLS/SRTP giúp hệ thống an toàn hơn do dữ liệu thoại được mã hóa
Như vậy, trên thế giới VoIP đã không còn quá xa lạ và đang là một lựa chọn
tốt cho người sử dụng, hứa hẹn sẽ mang lại nhiều lợi ích rất lớn cho người dùng
1.2 Định hướng thiết kế hệ thống VoIP
Tại Việt Nam, nhiều công ty, tập đoàn đã bắt đầu ứng dụng công nghệ VoIP Tuy nhiên, việc cung cấp VoIP như là một dịch vụ thì vẫn còn khá mới Hiện nay, VDC đang triển khai nghiên cứu xây dựng hệ thống VoIP có thể hỗ trợ số lượng người dùng lớn với nhiều dịch vụ tiện ích Trong đề tại này, chúng tôi xây dựng một
hệ thống VoIP cho các nhà cung cấp dịch vụ [2] đảm bảo tính khả thi, hiệu quả và kinh tế, xem xét các khía cạnh:
Qui mô lớn
Có khả năng triển khai nhiều ứng dụng
Có khả năng triển khai tính cước
Khả năng mở rộng dễ dàng khi số lượng người dùng tăng (giảm thiểu tối đa sự thay đổi cấu trúc của hệ thống)
Trang 16Mô hình VoIP Trang 3 HVTH: KS Cao Hữu Thuyết
CHƯƠNG 2 MÔ HÌNH VOIP
Trong chương này, chúng tôi đề cập tới khái niệm và kiến trúc của một hệ thống VoIP Sau đó sẽ liệt kê môt số mô hình hệ thống VoIP thông dụng nhất bao
gồm, mô hình VoIP cho Doanh nghiệp vừa và nhỏ, mô hình VoIP cho Doanh nghiệp lớn hay các ISP Trong chương này, chúng tôi cũng s o sánh sự khác biệt giữa các mô hình Từ đó có cái nhìn t ổng quát về một hệ thống VoIP và hướng tới
mô hình thiết kế của đề tài này
2.1 Giới thiệu
VoIP hay còn đư ợc gọi dưới các tên khác như: Internet Telephony, IP Telephony, Broadband Telephony, Broadband Phone và Voice over Broadband VoIP là ứng dụng truyền thoại thời gian thực trên nền Internet bằng các kết
nối IP Trong đó các tín hiệu âm thanh tương tự được lấy mẫu để chuyển đổi thành tín hiệu số Các tín hiệu này sau đó sẽ trở thành dữ liệu gói trên nền internet như các
dữ liệu thông thường, các dữ liệu này được nén, mã hóa cho phù hợp với ứng dụng thoại và được chuyển đến đầu cuối Khi thiết bị đầu cuối nhận được các dữ liệu gói này sẽ chuyển ngược trở lại thành tín hiệu thoại như ứng dụng thoại tương tự thông thường Các giao thức báo hiệu thường được sử dụng trong hệ thống VoIP là H.323, SIP (Sessions Initial Protocol) [3] Trong khi giao thức truyền tải trong mạng VoIP thường được sử dụng là RTP (Real-Time Transport Protocol)/RTCP (Real-time Transport Control Protocol) [4]
2.2 Ki ến trúc hệ thống VoIP
VoIP là hệ thống chuyển mạch mềm thường được xây dựng gồm các thành
phần tiêu biểu sau [5]:
Trang 17Hình 2.1: Thành phần mô hình VoIP Trong đó các thành phần của hệ thống bao gồm:
SIP Proxy: Là Server quản lý chuyển tiếp thiết lập cuộc gọi cho thuê bao (User) hay chuyển tiếp giữa các SIP proxy
User Provision: Giao diện thiết lập User hệ thống
PSTN Gateway: Giao tiếp của hệ thống VoIP với PSTN
Nat Traversal: Giao tiếp hệ thống qua NAT
Acounting and CDR generation: Lưu nhật kí thoại và tính cước
Monitor Tool: Công cụ giám sát tài nguyên hệ thống
Database: Server chuyên phục vụ cơ sở dữ liệu cho hệ thống như: thông tin User, thông tin cấu hình, thông tin cước…
2.3 Giao thức trong VoIP
Trong phần này chúng tôi giới thiệu về các giao thức báo hiệu và truyền tải được sử dụng trong hệ thống VoIP Cụ thể, với giao thức báo hiệu ta đề cập tới giao
thức SIP, trong khi giao thức truyền tải đề cập tới giao thức RTP/RTCP
Trang 18Mô hình VoIP Trang 5 HVTH: KS Cao Hữu Thuyết
2.3.1 Giao thức SIP
2.3.1.1 Giới thiệu chung
SIP (Sessions Initial Protocol) [3] là một giao thức điều khiển và đã đư ợc chuẩn hóa bởi IETF (Internet Engineering Task Force) [23] Nhiệm vụ của nó là thiết lập, hiệu chỉnh và xóa các phiên làm việc giữa người dùng Các phiên làm việc
cũng có thể là hội nghị đa phương tiên, cuộc gọi điện thoại điểm-điểm,….SIP được
sử dụng kết hợp với các chuẩn giao thức IETF khác như là SAP (Session Advertisement Protocol) [6], SDP (Session Description Protocol) [7] Các trường trong header của SIP tương tự của HTTP (Hypertext Transfer Protocol) [9] về cả cấu trúc và ngữ nghĩa Nó bao gồm các yêu cầu được gởi đến từ người sử dụng SIP client đến SIP Server Server xử lý các yêu cầu và đáp ứng đến client Một thông điệp yêu cầu, cùng với các thông điệp đáp ứng tạo nên sự thực thi SIP
2.3.1.2 Các thành phần của SIP
SIP gồm 2 thành phần cơ bản là SIP client (là các thiết bị phần cứng hoặc phần mềm sử dụng giao thức SIP ví dụ như SIP phone…) và SIP Server (là các thiết
bị được cài đặt để xử lý các bản tin SIP) Trong SIP Server có các thành phần quan
trọng như: Proxy Server, Redirect Server, Location Server, Registrar Server
Proxy Server: là SIP Server thay mặt SIP client để chuyển tiếp các bản tin SIP
tới thành phần khác trong hệ thống Như vậy, chức năng chính của nó trong mạng là định tuyến các bản tin SIP đến nơi yêu cầu Proxy Server cũng cung cấp các chức
năng xác thực trước khi thực hiện định tuyến cuộc gọi
Hình 2.2: Mô hình Proxy Server
Trang 19Redirect Server: Là một thành phần trong hệ thống SIP Server, Server này sẽ
trả về cho đối tượng phát bản tin SIP địa chỉ đích mà nó cần để nó tự liên lạc với đích trực tiếp Redirect Server cung cấp khả năng di chuyển vị trí cho người dùng
Hình 2.3: Mô hình Redirect Server Registrar Server: là Server nhận bản tin SIP REGISTER yêu cầu và cập nhật thông tin từ bản tin request vào “location database” nằm trong Location Server Location Server: lưu thông tin trạng thái vị trí hiện tại của người dùng trong
mạng SIP
2.3.1.3 Các b ản tin SIP
SIP là giao thức tiết lập phiên khá đơn giản được hình thành trên cơ sở HTTP nên có cấu trúc khá đơn giản, các phần tử SIP giao tiếp với nhau thông qua các bản tin SIP đã được chuẩn hóa [RFC 3261] Có hai loại bản tin trong SIP là bản tin yêu
cầu (SIP Request) và bản tin đáp ứng (SIP Response)
Bản tin yêu cầu: được gửi từ Client tới Server RFC 3261 định nghĩa 6 kiểu bản tin SIP Request cho phép User Agent (UA) và Proxy có thể xác định người dùng, khởi tạo, sửa đổi, hủy một phiên [3]:
STT Bản tin Nội dung bản tin
1 INVITE Mời thực hiện cuộc gọi
2 ACK Xác nhận nhận gói thành công
3 BYE Kết thúc cuộc gọi
4 CANCEL Hủy cuộc gọi
5 REGISTER Đăng kí user lên proxy
6 OPTIONS Xác định năng lực máy chủ
Trang 20Mô hình VoIP Trang 7 HVTH: KS Cao Hữu Thuyết
Bảng 2.1: Bản tin SIP Request
Cấu trúc bản tin SIP Request [3], gồm 3 phần:
100 đến 699, được chia thành các lớp nghĩa khác nhau [3]:
STT Mã b ản tin Loại bản tin
1 1xx Các bản tin chung
2 2xx Các bản tin báo hiệu thành công
3 3xx Các bản tin chuyển địa chỉ
4 4xx Các bản tin thể hiện yêu cầu không được đáp ứng
5 5xx Các bản tin báo hiệu sự cố máy chủ
6 6xx Các bản tin báo hiệu sự cố toàn mạng
Bảng 2.2: Bản tin SIP Response
Cấu trúc bản tin SIP Response [3], gồm 3 phần:
- Status-Line
- Headers: To:…, From:…, …
- Body: SDP answer
Ý nghĩa của các trường trong phần Tiêu đề (Headers) của các bản tin SIP [3]:
Tiêu đề SIP Mô tả
From Thường là AOR (Address of Record) của người gửi Nó bao
gồm SIP hoặc SIPS URI (Uniform Resource Identifiers) và với tùy chọn tên được hiển thị
To Mô tả người nhận của bản tin SIP, AOR của người nhận Với
chức năng forward hay redirect thì không ph ải là địa chỉ người
nhận Trường này giống trường From
Call-ID Định nghĩa series của bản tin SIP Call-ID phải được xác định
trong mọi bản tin SIP được gửi bởi tất cả các UA trong một dialog
Cseq Chứa một giá trị nguyên và tên phương thức Trường này dùng
để xác định, sắp xếp, đánh dấu chuỗi SIP request trong một dialog Cseq có thể khác nhau giữa bản tin được truyền lại và
Trang 21Allow Liệt kê tập các phương thức SIP được hỗ trợ bởi UA
Supported Liệt kê tập các phần mở rộng của SIP hỗ trợ bởi UA
Require Trường này rất giống như trường Supported nhưng là của các
UA ở xa cần thiết cho một transaction được xử lý
Content-Type Kiểu của phần thân của bản tin SIP (nếu có phần thân)
Content-Length Kích thức của phần thân bản tin SIP Trường này là bắt buộc
khi bản tin SIP được truyền trên TCP
Bảng 2.3: Các trường trong Tiêu đề bản tin SIP
2.3.1.4 Quy trình xử lý cuộc gọi SIP
Quá trình xử lý của một Proxy Server: Proxy Server là SIP Server thay mặt SIP Client chuyển tiếp các bản tin SIP tới thành phần khác trong hệ thống
Hình 2.4: Quá trình xử lý cuộc gọi của Proxy Server Khi một user được khởi tạo (hoặc đã đư ợc khởi tạo nhưng khởi động lại) thì phải đăng ký với Registrar Khi user đang tồn tại trong hệ thống thì không cần phải đăng ký nữa Hai user A và user B xét ở hình trên cùng một domain Ngữ cảnh ở đây là user A gọi cho user B
Trang 22Mô hình VoIP Trang 9 HVTH: KS Cao Hữu Thuyết
Hoạt động của Proxy Server trong trường hợp này được trình bày theo các bước:
Bước 1: User B đăng kí đến Server Register, tại đây diễn ra quá trình xác thực thông tin đăng kí (giả sử user B mới khởi động)
Bước 2: Server Register gởi toàn bộ thông tin đăng kí của user (username, ip, port, expire….) đến Location Server Tại đây các thông tin sẽ được ghi vào Database để sử dụng khi cần thiết
Bước 3: User A gọi User B bằng cách gởi gói tin INVITE đến Proxy Server Bước 4: Proxy Server truy vấn (query) Location Server để lấy các thông tin
cần thiết về user B
Bước 5: Location Server trả các thông tin cho proxy để proxy liên lạc với user
B
Bước 6: Proxy Server relay gói tin INVITE cho user B
Bước 7: Sau khi 2 bên đã đồng ý thiết lập hội thoại thì 2 bên sẽ nói chuyện với nhau thông qua giao thức RTP, Proxy không tham gia vào quá trình thoại nữa
Quá trình xử lý của Redirect Server: Server này sẽ trả về cho đối tượng phát bản tin SIP địa chỉ đích mà nó cần để nó tự liên lạc với đích trực tiếp
Xét ngữ cảnh user A muốn gọi user B theo hình dư ới, giả sử user B mới khởi động Khi user A thực hiện gọi user B thì bản tin yêu cầu được gửi tới Proxy Server, lúc này Proxy Server truy vấn Location Server để có thông tin địa chỉ của user B và
gửi lại cho user A thông qua gói “302 Move temporarily” Lúc này user A tự liên
lạc với user B mà không thông qua Proxy Server nữa
Trang 23Hình 2.5: Quá trình xử lý cuộc gọi của Redirect Server Hoạt động của Redirect Server trong VoIP được mô tả như hình trên:
Bước 1: User B đăng kí đến Server register, tại đây diễn ra quá trình xác thực thông tin đăng kí
Bước 2: Server Register gởi toàn bộ thông tin đăng kí của User (username, ip, port, expire….) đến Location Server Tại đây các thông tin sẽ được ghi vào Database để sử dụng khi cần thiết
Bước 3: User A gọi User B bằng cách gởi gói tin INVITE đến Proxy Server Bước 4: Proxy Server truy vấn (query) Location Server để lấy các thông tin cần thiết về user B
Bước 5: Location Server trả các thông tin cho Proxy
Bước 6: Proxy Server gởi gói “302 Move temporarily” cho user B, trong gói tin này sẽ bao gồm tất cả các thông tin cần thiết để user A có thể tự liên lạc với user
B trên internet
Bước 7: User A tự INVITE user B và thiết lập RTP, Proxy không tham gia gì nữa
2.3.1.5 Tính năng của SIP
Giao thức SIP được thiết kế với những chỉ tiêu sau:
Trang 24Mô hình VoIP Trang 11 HVTH: KS Cao Hữu Thuyết
- Mềm dẻo và tương thích với các giao thức đã có của IETF
- Đơn giản và có khả năng mở rộng
- Hỗ trợ tối đa sự di động của đầu cuối
- Dễ dàng tạo tính năng mới cho dịch vụ
a Mềm dẻo và tương thích với các giao thức đã có của IETF
SIP kế thừa các đặc điểm của hai giao thức Internet đã được phát triển rất phổ
biến: đó là Hyper Text Transport Protocol (HTTP) sử dụng cho Web và Simple Mail Transport Protocol (SMTP) sử dụng cho e -mail Dựa vào các nguyên tắc có được từ môi trường IP, SIP được thiết kế là giao thức độc lập với ứng dụng, rất
mềm dẻo và có khả năng áp dụng trong nhiều môi trường khác nhau
Một số giao thức của IETF mà SIP có khả năng tương thích:
RTP (Real-Time Transport Protocol) [10]: Giao thức truyền tải thời gian thực RTSP (Real Time Streaming Protocol) [11]: Giao thức tạo luồng thời gian thực
SAP (Session Advertisement Protocol) [6]: Giao thức thông báo trong phiên
kết nối
SDP (Session Description Protocol) [7]: Giao thức mô tả phiên kết nối
b Đơn giản và có khả năng mở rộng
SIP có cấu trúc đơn giản và chỉ làm chức năng khởi tạo, thay đổi và kết thúc các phiên kết nối, không tham gia vào truyền tải dữ liệu
Các phần mềm của máy chủ ủy quyền, máy chủ đăng kí, máy chủ chuyển đổi địa chỉ, máy chủ định vị… có thể chạy trên các máy chủ khác nhau và việc cài đặt thêm máy chủ hoàn toàn không ảnh hưởng đến các máy chủ đã có Chính vì thế hệ
thống chuyển mạch SIP có thể dễ dàng nâng cấp
c Hỗ trợ tối đa sự di động của đầu cuối
Do có máy chủ ủy quyền, máy chủ đăng ký và máy chủ chuyển đổi địa chỉ hệ
thống luôn nắm được thông tin địa chỉ của thuê bao Vì vậy, SIP hỗ trợ tối đa sự di động của đầu cuối Rõ ràng nhất là trong trường hợp SIP Server đóng vai trò là Redirect Server như đã trình bày theo Hình 2.5
Trang 25d Dễ dàng tạo tính năng mới cho dịch vụ và dịch vụ mới
Là giao thức khởi tạo phiên trong mạng chuyển mạch gói, SIP cho phép tạo ra những tính năng mới hay dịch vụ mới một cách nhanh chóng Ngôn ngữ xử lý cuộc
gọi (Call Processing Language) và Giao diện cổng kết nối chung (Common Gateway Interface) là một số công cụ để thực hiện điều này SIP hỗ trợ các dịch vụ thoại như chờ cuộc gọi, chuyển tiếp cuộc gọi, khóa cuộc gọi… (call waiting, call forwarding, call blocking…), hỗ trợ thông điệp thống nhất…
2.3.2 Giao thức RTP
RTP (Real-Time Transport Protocol) [10] là giao thức vận chuyển thông tin
thời gian thực cung cấp chức năng mạng vận chuyển đầu cuối - đầu cuối cho những ứng dụng truyền dữ liệu mà yêu cầu thời gian thực (real-time) như là âm thanh và video Những chức năng đó bao gồm nhận diện loại dữ liệu, số trình tự, tham số
thời gian và giám sát tiến trính gửi
RTP là thành phần quan trọng của VoIP bởi vì nó cho phép thiết bị đích sắp
xếp và điều chỉnh lại thời gian cho gói tin thoại trước khi được gửi đến người dùng Một header RTP chứa tham số thời gian và số trình tự nhằm để cho thiết bị nhận lưu vào bộ nhớ đệm, khử các biến đổi về độ trễ bằng cách đồng bộ những gói tin để phát lại thành dòng âm thanh liên tục RTP dùng số trình tự chỉ đế sắp xếp lại thứ tự gói tin RTP không yêu cầu sự truyền lại nếu một gói tin bị mất
Ví dụ: Như những gói thoại khi được gửi đến đích, chúng có thể đi trên những con đường khác nhau để đến đích, mỗi con đường có thể khác nhau về khoảng cách, tốc độ truyền, kết quả là gói tin đến đích không đúng thứ tự ban đầu Khi ở nguồn
tạo ra cuộc gọi, dữ liệu thoại sẽ được đóng gói lại, RTP sẽ gắn vào những gói tin
với tham số thời gian và số trình tự và gửi đi Ở đích đến, RTP sẽ sắp xếp những gói tin và gửi chúng đến bộ xử lý tín hiệu số (Digital Signal Processor - DSP) ở cùng
tốc độ khi chúng được gửi đi ở nguồn gọi
Trang 26Mô hình VoIP Trang 13 HVTH: KS Cao Hữu Thuyết
2.3.3 Giao thức RTCP
RTCP (Real-time Transport Control Protocol) [4] là giao thức điều khiển truyền thời gian thực, có chức năng giám sát chất lượng của quá trình phân phối dữ
liệu và cung cấp tiến trình điều khiển thông tin RTP trao đổi thông tin về giám sát
và điều khiển phiên RTCP giám sát chất lượng của các yếu tố như là đếm gói (packet count), mất gói, độ trễ, các biến đổi trong giá trị trễ (jitter) RTCP truyền gói bằng 1% băng thông của phiên, nhưng ở một tốc độ xác định trong ít nhất mỗi 5 giây
Tham số thời gian Network Time Protocol (NTP) dựa vào các xung được đồng
bộ Tham số thời gian RTP tương ứng thì được tạo ngẫu nhiên và dựa vào tiến trình lấy mẫu gói dữ liệu Cả hai NTP và RTP đều được đặt trong gói RTCP bởi người
gửi dữ liệu
2.4 Các mô hình VoIP trong thực tế
2.4.1 Mô hình VoIP cho doanh nghi ệp vừa và nhỏ
Mô hìnhVoIP cho doanh nghiệp vừa và nhỏ chủ yếu tập trung vào các nhu cầu
gọi nội bộ Vì vậy, số lượng thuê bao không nhiều, nhu cầu về bảo mật không cao
Do đó, về cơ bản cấu hình mạng không lớn và chi phí cho hệ thống là không cao
2.4.2 Mô hình VoIP cho doanh nghiệp lớn
Đối với những công ty hay tập đoàn lớn, thì mô hình này rất phù hợp Lớn hơn
nữa, nếu nhu cầu mở rộng là nhiều, liên lạc không chỉ là nội bộ mà có thể mang tính
chất toàn cầu, tức là có yếu tố liên kết, khi đó mô hình này gần như là mô hình c ủa một nhà cung cấp, vì không những cung cấp nội bộ tập đoàn (công ty) mà còn liên
kết với các nhà cung cấp khác, thông qua đó có thể liên lạc với những đối tượng khác nhau Phát sinh vấn đề về trả phí liên kết với các nhà cung cấp dịch vụ khác
Và khi đó, chính là mô hình VoIP cho các nhà cung cấp
Trang 272.4.3 Mô hình VoIP cho ISP – Các nhà cung cấp dịch vụ
Mô hình VoIP cho ISP thực sự rất phức tạp, vì quy mô số thuê bao lớn, số lượng đối tượng khách hàng nhiều, số lượng và chủng loại liên kết với các nhà cung
cấp khác phong phú Khách hàng có thể là cá nhân, xí nghiệp, công ty hoặc thậm chí là tập đoàn Vậy hội tụ lại chỉ là liên kết của rất nhiều nhóm doanh nghiệp (xí nghiệp, công ty) khác nhau Khi đó, vấn đề đặt ra không chỉ là dung lượng, đó là các dịch vụ giá trị gia tăng khác, vì sẽ có sự cạnh tranh giữa các ISP khác nhau Đây cũng là điểm khác biệt nhiều nhất giữa mô hình VoIP cho Doanh nghiệp và mô hình VoIP cho ISP
2.4.4 So sánh gi ữa các mô hình
Mô hình
Số lượng thuê bao
Khoảng cách vật lý các thuê bao/nhóm thuê bao
Nhu cầu dịch vụ giá trị gia tăng
Nhu cầu
bảo
mật
Nhu
cầu sử dụng
bản quyền
Chi phí
thực hiện (Tương đối)
Hạ tầng
sử dụng các phần mềm thương mại khuyến khích nên dùng bản quyền Tuy nhiên, với việc phát triển không ngừng hệ thống các phần mềm mã nguồn mở hiện nay, ít nhiều kích thích các nhà cung cấp tự phát triển cho riêng mình một hệ thống dựa trên những phần mềm công cụ sử dụng mã nguồn mở Do đó, cũng ảnh hướng rất nhiều đến chi phí để thực hiện
Trang 28Mô hình VoIP Trang 15 HVTH: KS Cao Hữu Thuyết
• Số lượng thuê bao cần sử dụng dịch vụ
vụ sẽ quyết định mô hình cần thiết để triển khai Đó là:
• Khoảng cách vật lý của các thuê bao, nhóm thuê bao
• Nhu cầu dịch vụ giá trị gia tăng
Trang 29CHƯƠNG 3 MÔ HÌNH VOIP CHO ISP
Nhiệm vụ chính của chương này cần giải quyết các vấn đề cụ thể cho một mô hình VoIP cốt lõi cho một ISP
Cụ thể là:
- Yêu cầu thiết kế mô hình VoIP cho ISP
- Lựa chọn phương án thiết kế
- Xây dựng và triển khai mô hình
- Các mô hình ứng dụng:
+ Cân bằng tải (Load balancing)
+ Dự phòng tải (Redundancy)
+ Tính cước (Billing)
3.1 Thi ết kế Mô hình VoIP cho ISP
3.1.1 Yêu cầu thiết kế
Xây dựng một hệ thống VoIP cho các nhà cung cấp đảm bảo tính khả thi, hiệu quả, và có:
- Dung lượng lớn: Đáp ứng khoảng 5000 cuộc gọi
- Triển khai các ứng dụng: Voice mail, Meetme Conference, IVR, Call Parking, Music On Hold
- Các giải pháp an toàn hệ thống: Dự phòng Gateway, Dự phòng tổng đài, Cân bằng tải
- Thực hiện tính cước (ưu tiên trả trước)
- Khả năng mở rộng khi số lượng người dùng tăng
3.1.2 Phân tích yêu cầu
a H ệ thống yêu cầu là hệ thống VoIP
VoIP là hệ thống điện thoại nên đầu tiên nó phải đáp ứng được đầy đủ các yêu
cầu cơ bản của một hệ thống thoại PSTN cơ bản như: nghe, gọi cơ bản và các dịch
vụ nâng cao như mailbox, conference, meetme…
Trang 30Mô hình VoIP cho ISP Trang 17 HVTH: KS Cao Hữu Thuyết
Đáp ứng yêu cầu của một hệ thống viễn thông nên hệ thống thiết kế phải có đầy đủ các đặc tính như dự phòng, cân bằng tải….Và có khả năng mở rộng trong tương lai
b Đối tượng yêu cầu là các ISP
Đối tượng là ISP nên hệ thống phải có sự linh động về mặt thời gian và vị trí địa lý, dung lư ợng cũng tương đối lớn, khoảng 5000 cuộc gọi Hệ thống có khả năng tính cước Nếu muốn mở rộng có thể tăng tài nguyên hệ thống, mà không làm ảnh hưởng nhiều đến hệ thống đang hoạt động
3.1.3 Lựa chọn phương án thiết kế
Từ phân tích yêu cầu trên, ta thấy hệ thống cần hai phần chính: Tổng đài VoIP nội bộ (có dung lượng lớn) và tổng đài VoIP liên kết với các nhà cung cấp khác (có nhiều dịch vụ) Cả hai thành phần này đều phải được đảm bảo dự phòng khi cần thiết, chẳng hạn khi quá tải hoặc xảy ra sự cố
Đối với một tổng đài VoIP nội bộ (sử dụng SIP) thông thường, có thể dùng các phần mềm sau để xây dựng:
- SIP Express Router (SER)
- OpenSER: Là một hướng phát triển của SER
- OpenSIPS/Kamailio: Là một hướng phát triển của OpenSER
Trang 31Nhằm đáp ứng về mặt giá thành sản phẩm và khả năng mở rộng hệ thống linh
hoạt, ta chọn các phền mềm mở để xây dựng core của hệ thống, nhờ đó hệ thống sẽ giảm được khoản đầu tư cho bản quyền core:
- Xây dựng tổng đài VoIP nội bộ: Sử dụng phần mềm OpenSIPS để xây
dựng các Server (Server Opensips) để hỗ trợ thực hiện các cuộc thoại nội
bộ với số lượng lớn
- Xây dựng tổng đài VoIP liên kết với các nhà cung cấp khác: Sử dụng phần
mềm Asterisk để xây dựng tổng đài VoIP, đồng thời làm Gateway cho tổng đài VoIP nội bộ dùng OpenSIPS trên, hỗ trợ thực hiện các cuộc gọi đi
và đến các ISP khác Tổng đài này hỗ trợ được ít cuộc gọi hơn so với các Server Opensips nhưng nhiều ứng dụng
Kết hợp 02 mô hình này sẽ phát huy tối ưu các ưu điểm của mỗi phần mềm, để đem lại hiệu suất hoạt động cao nhất đáp ứng yêu cầu đề ra
3.2 Tri ển khai hệ thống
- Capacity:
Tham số thiết kế:
+ Phục vụ 5000 cuộc gọi
+ Gọi nội mạng đồng thời là không giới hạn
+ Gọi PSTN < 1000 cuộc gọi đồng thời tùy thuộc vào số Co-line và gateway
+ Có khả năng giao tiếp với các ISP khác
+ Phục vụ đầy đủ các dịch vụ thoại truyền thống
+ Chạy SIP/UDP, RTP để truyền thoại (có thể mở rộng chạy TLS và SRTP)
+ Tính cước trả trước, trả sau
- Số Server sử dụng:
+ 4 Server Opensips
+ 4 Server Asterisk
+ 2 Server Database
Trang 32Mô hình VoIP cho ISP Trang 19 HVTH: KS Cao Hữu Thuyết
Mô hình:
Hình 3.1: Mô hình VoIP ISP
Giải thích mô hình: Mô hình VoIP này gồm 2 Node với 5 Server phục vụ cho
mỗi Node (tạm gọi là chi nhánh):
- Server “Opensips 1,2” chạy Opensips làm Server đóng vai trò như m ột tổng
đài nội bộ, tiến hành chuyển cuộc gọi nội bộ cho toàn bộ thuê bao nội bộ trong hệ
thống và liên lạc liên tổng đài giữa các chi nhánh Tại cùng một thời điểm một trong hai Server sẽ ở chế độ active tham gia trực tiếp vào hệ thống, Server còn lại sẽ chạy
ở chế độ standby dự phòng cho Server active đang ho ạt động Với ưu thế chỉ xử lý báo hiệu nên nó có thể cho phép hàng ngàn user online cùng lúc và hàng trăm user đồng thời thực hiện cuộc gọi cùng lúc
- Server “Asterisk gateway 1,2” chạy asterisk Mục đích là làm gateway cho Opensips chuyển các cuộc gọi ra ngoài PSTN ứng với 2 chi nhánh khác nhau Hai Server này được lần lượt sử dụng để cân bằng tải cho hệ thống
Trang 33- Server “Database” chạy database mysql lưu trữ toàn bộ các thông tin về user đăng ký cho SIP proxy Opensips cũng như tất cả các thông tin cấu hình feature cho OpenSIP
Để cài đặt các phần mềm mã nguồn mở ứng dụng, trong mô hình thử nghiệm, chúng tôi chọn Hệ điều hành Linux CentOS để làm nền cho các máy ảo Oracle VM VirtualBox
3.2.1 Xây dựng Server Opensips
3.2.1.1 Cài đặt Server Opensips
Phiên bản Opensips sử dụng:
Opensips cung cấp cho người dùng 2 phiên bản sử dụng
Phiên bản 1: Có mã hóa đường truyền : Opensips-1.6.4-2-tls
Phiên bản này ứng dụng cho các hệ thống yêu cầu bảo mật cao như ngân hàng, công ty lớn….Người quản trị có thể cấu hình một số kênh thông tin quan trọng được mã hóa dữ liệu trước khi truyền trên kênh truyền đến đầu cuối Phiên bản này mang lại tính bảo mật rất cao nhưng lai tốn tài nguyên của hệ thống hơn so với kênh không bảo mật
Phiên bản 2: Không có mã hóa kênh truyền : Opensips-1.6.4-2-notls
Phiên bản này ứng dụng cho các hệ thống không yêu cầu tính bảo mật cao, áp dụng cho các doanh nghiệp đơn vị có nhu cầu thoại cao nhưng không cần bảo mật
cuộc gọi Phiên bản này mang lại sức mạnh vượt trội cho hệ thống, do không có phần mã hóa kênh truyền nên không tốn nhiều tài nguyên, có thể làm việc cùng lúc
với lượng tải lớn
Để đảm bảo tính bảo mật cho hệ thống, chúng tôi lựa chọn phiên bản 1
- Gói để giải nén :
Các gói dependency cần thiết:
+ zlib, tar, zlib-devel
- Gói để biên dịch mã nguồn:
+ gcc, bison, flex
- Gói thực hiện bảo mật (nếu có ý định sử dụng kênh bảo mật TLS)
Trang 34Mô hình VoIP cho ISP Trang 21 HVTH: KS Cao Hữu Thuyết
+ openssl, openssl-devel
- Gói cơ sở dữ liệu :
+ libmysqlclient-libs, libmysqlclient-devel, mysql-server, mysql-devel
Chúng tôi có thể cài đặt các gói trên từ thư viện dependency trực tuyến với lệnh:
# yum install <Tên gói> (áp dụng với Fedora hoặc Redhat có bản quyền)
Nếu ta sử dụng phiên bản khác thì có thể search gói “.rpm” hoặc source để cài đặt
Trang 35Hình 3.2: File Makefiles chưa sửa đổi Delete module “db_mysql” như tô đỏ ở trên để được hình
Hình 3.3: File Makefiles đã sửa đổi Lưu lại những thay đổi trên
Bước 5: Tiến hành built source
Lệnh thực hiện như sau :
# make clean
# make all include_modules=”mysql”
# make prefix=/usr/local install include_module=”mysql”
Bước 6 : Dùng trình soạn thảo nano mở file tại:
# nano /usr/local/etc/Opensips/Opensipsctlrc
Ta sẽ thấy như hình :
Trang 36Mô hình VoIP cho ISP Trang 23 HVTH: KS Cao Hữu Thuyết
Hình 3.4: File Opensipsctlrc chưa sửa đổi
Bỏ chú thích tại dòng tô đỏ được hình sau :
Hình 3.5: File Opensipsctlrc đã sửa đổi Lưu lại các thay đổi đã thực hiện
Bước 7: Khởi tạo Database cho hệ thống Opensips :
+ Khởi động mysql: #service mysqld start
+ Tạo Database: # /usr/local/sbin/Opensipsdbctl create
Đến đây việc cài đặt Opensips đã hoàn thành, tiếp theo là việc cấu hình và sử
dụng Server
3.2.1.2 Cấu hình và sử dụng Server Opensips
Toàn bộ cách định tuyến đường đi của Opensips được người dùng thiết lập
trong file Opensips.cfg
File này gồm có 4 phần chính đó là :
- Global Parameters: Các tham số chính của hệ thống
- Load Modules: Các modules chính được lấy từ thư viện của Opensips
- Modules Parameter: Các tham số của các modules
- Routing: Phần định tuyến đường đi của Opensips
Trang 37Các tham số này giúp thiết lập tuỳ chọn ghi lại nhật kí Server để giúp người
quản trị tiện theo dõi và phát hiện lỗi trong hệ thống cũng như quản lý hệ thống
- Debug:
Đây là tham số khá quan trọng trong phần này Giúp lựa chọn độ chi tiết của
nhật kí ghi lại hoạt động hệ thống,độ chi tiết này tăng dần tương ứng khi “debug” nhận các giá trị từ 0 -> 9 Thông thường theo mặc định của Opensips “debug=3”, giá trị này cho phép nhật kí hệ thống ghi lại tấc cả các lỗi và các “message” quan
Trang 38Mô hình VoIP cho ISP Trang 25 HVTH: KS Cao Hữu Thuyết
Khởi tạo đường dẫn:
Chỉ đường dẫn đến thư mục chứa các module cho Opensips, thông thường
đường dẫn này là : “ mpath="/usr/local/lib/Opensips/modules/"” (có thể khác nếu
cài đặt Opensips ở đường dẫn khác)
Load module:
Thực hiện theo cấu trúc:
loadmodule "tên module"
- Modules Parameter:
Opensips cho phép ta thiết lập các tham số cho module theo nhu cầu của người dùng
Để làm được diều này ta sử dụng hàm :
modparam("tên module", "tham số", "giá trị")
Script ví dụ cài đặt tham số module:
# - setting module-specific parameters -
của module để load các module cho phù hợp mà không gây ra lãng phí hệ thống Một script định tuyến VoIP thực tế cần đảm bảo 3 yêu cầu cơ bản sau :
- Chính xác
- Bảo mật
- Hiệu suất
Trang 39Để đảm bảo 3 yếu tố này, một form của Opensips routing thường hay được
đề xuất cho người thực hiện hệ thống được ví dụ như sau:
Lưu đồ giải thuật xây dựng kịch bản Opensips.cfg:
Trang 40Mô hình VoIP cho ISP Trang 27 HVTH: KS Cao Hữu Thuyết
Hình 3.6: Lưu đồ giải thuật Core Opensips
YES YES