SlideShare a Scribd company logo
1 of 38
Các vấn đề hiện đại
mạng máy tính và truyền
thông
Đề tài : Xây dựng hệ thống VOIP với opensips
Giảng viên : Dương Lê Minh
1
Danh sách nhóm
1. Trần Văn Thanh(cài đặt, cấu hình opensips, script &
routing basic)
2. Hoàng Đình Quyền(cài đặt opensips,SIP NAT traversal)
3. Phạm Hồng Sơn(tìm hiểu giao thức SIP)
4. Đặng Thị Huyền( xác thực với MYSQL)
5. Trần Thị Tươi (tìm hiểu Askterisk )
6. Vũ Viết Tùng (tìm hiểu opensips)

2
Nội dung
•
•
•
•
•
•

Giới thiệu về VoIP và SIP
Giới thiệu về opensips (các thành phần chính)
Config and routing script
Xác thực sử dụng MYSQL
NAT traversal
Asterisk

3
VoIP ?
• VoIP (Voice over Internet Protocol) là công nghệ truyền
giọng nói thông qua mạng sử dụng giao thức TCP/IP. Các
gói dữ liệu IP được trao đổi là mã hóa của tín hiệu đàm
thoại

4
Các giao thức được dùng trong VoIP
Các giao thức báo hiệu của VoIP cho phép thiết lập giao
tiếp cho các ứng dụng đa phương tiện như audio, video,..
Một số giao thức:
• SIP
• Mgcp
• H323

Trong đó SIP phổ biến hơn cả

5
Giao thức SIP
6
Khái niệm
• SIP ( Session Initiation Protocol) là giao thức điều khiển
báo hiệu thuộc lớp ứng dụng trong mô hình OSI
• hỗ trợ các hoạt động chính sau:
• Định vị trí của người dùng
• Định media cho phiên làm việc
• Định sự sẵn sàng của người dùng để tham gia vào
một phiên làm việc
• Thiết lập cuộc gọi , chuyển cuộc gọi và kết thúc

7
Kiến trúc của SIP
• Gồm 5 thành phần chính:
•
•
•
•
•

User Agent(UA)
Proxy Server
Redirect Server
Location Server
Registrar Server

8
Hoạt động của SIP
• Hoạt động của máy chủ ủy quyền(Proxy Server)

9
Hoạt động của SIP
• Hoạt động của máy chủ chuyển đổi địa chỉ(Redirect
Server)

10
Một phiên hội thoại SIP

11
OpenSIPS ?
• Là một phiên bản mã nguồn mở hoàn chỉnh của một SIP
proxy server, thành phần cốt lõi của các giải pháp VoIP.
• OpenSIPS tích hợp voice, video ,IM (Instant Message) và
các dịch vụ trình chiếu
• Thiết lập module dễ dàng nâng cấp, mang lại hiệu quả
cao
• OpenSIPS kế thừa bởi dự án OpenSER

12
Opensips- Sip proxy Server
• Nhận, kiểm tra, phân loại yêu cầu SIP xem chúng có
đúng hay không rồi chuyển đến một đích thích hợp.
• Trước khi chuyển lại yêu cầu, Opensips có thể thay đổi,
thêm hoặc bỏ header và/hoặc thay đổi địa chỉ đích ban
đầu.
• Các yêu cầu không mong muốn sẽ được gửi lại cùng
với trả lời từ chối.
• Các yêu cầu được phép sẽ được chuyển tiếp đến một
đích hoặc qua một Proxy Server khác.
• Opensips có thể gửi và nhận nhiều yêu cầu đến nhiều
đích tại cùng một thời điểm.
13
Opensips- Sip proxy Server(cont.)
• Xử lý các câu trả lời gửi về server trước khi gửi lại cho
nguồn(có thể giữ nguyên hoặc sửa trả lời cho phù hợp)
• Chạy như một dịnh vụ nền để nghe các yêu cầu qua các
cổng.
• Có các kịch bản định tuyến được mô tả trong file config.
Trong file config có thể thay đổi theo người quản lí.
• Một số tính năng nổi trội của Opensips:
•
•
•
•

Xử lí đăng kí: Register Server.
An toàn thông tin: hỗ trợ TLS
Lưu trữ thông tin vào cơ sở dự liệu.
NAT traversal.
14
Hiệu suất cơ bản
• Chạy trên hệ thống nhúng, hiệu suất hàng trăm thiết lập
cuộc gọi/giây
• Với một hệ thống yếu vẫn có thể phục vụ số lượng thuê
bao trực tuyến lớn.
• Hệ thống dễ dàng mở rộng bằng việc thêm máy chủ.
• Opensips hộ trợ cả Ipv4 và Ipv6, phục vụ được multiple
Domain.

15
Hệ thống thực hành

16
Cấu hình opensips
• Opensips được cấu hình mặc định trong file
opensips.cfg ,thực hiện điều khiển ,các modul, tham số,
routing script.

17
Thành phần file config opensips
• Tham số toàn cục (global parametter)
• Các modul& cấu hình modul
• Khối định tuyến
•
•
•
•
•

Khối định tuyến phản hồi
Khối định tuyến thất bại
Khối định tuyến nhánh
Khối định tuyến lỗi
...

• Script
18
Tham số toàn cục
• Protocol control
• disable_tcp=no
• disable_tls=no

• Listen interfaces
• listen=udp:192.168.2.2:5060
• listen=tcp:192.168.2.3:5066
• listen=tls:192.168.2.3:5061

• Logging
•
•
•
•
•

debug=3 #logging level
memlog=3 #log level for memory related debugging
log_stderror=no #use syslog and not standard error
log_facility=LOG_LOCAL0
log_name=”my-proxy” #default is argv[0]

19
Tham số toàn cục
• Number of processes
• fork = yes # fork ảnh hưởng công việc của hệ thống SIP
• children = 4 # sô tiến trình / giao diện UDP
• tcp_children = 6 # tổng số tiến trình SIP TCP hoạt động

20
Modules
• Loading a module
• loadmodule “/usr/lib/opensips/modules/tm.so”

hoặc
• mpath=”/usr/lib/opensips/modules/”
• loadmodule “tm.so”

• Setting module parameter
• modparam(“tm”, ”fr_inv_timer”, 20)
module name

parameter name

parameter value

• modparam(“tm”, ”fr_inv_timer_avp”, ”$avp(tm_timeout)”)

• Multi-module parameters
• modparam(“usrloc|auth_db”, ”db_url”,
“mysql:openser@localhost/openser”)

21
Định tuyến
• Định tuyến chứa các hành động định tuyến logic
• Có thể có nhiều định tuyến
• Có nhiều loại định tuyến:
•
•
•
•
•

request route : route[n] {...}
reply route: onreply_route[m] {...}
failure route: failure_route[x] {...}
branch route: branch_route[y] {...}
error_route: error_route {...}

• Trong định tuyến có thể sử dụng:
• Các hàm trích xuất từ module
• Từ khóa và các giá trị xác định từ lõi
• Biến giả trích xuất từ lõi hoặc các module

22
Định tuyến
• Ví dụ
route {
lookup("location");
t_on_failure("1");
if(!t_relay()) {
sl_send_reply("500", "relaying failed");
}
}
failure_route[1] {
if(is_method("INVITE")) {
# call failed - relay to voice mail
t_relay_to_udp("voicemail.server.com","5060");
}
}

23
Script
• Các giá trị đã được định nghĩa trước
Vd: + TCP / TLS / UDP thiết lập dựa trên giao thức được sử
dụng
+ INET/ INET6 thiết lập theo giao thức IPv4 hoặc IPv6

• Từ khóa
•
•
•
•
•

af / proto
dst_ip / dst_port
src_ip / src_port
method / status / retcode
uri / from_uri / to_uri

• Ví dụ :
if (proto==UDP && af==INET) { log(“message received
use UDP and IPv4 ”)}
• if (method==”INVITE” && uri=~”sip:[0-9]+@”) {...}
•

24
Xác thực với MYSQL
Nội dung chính
1. Trình tự xác thực đăng ký
2. Trình tự xác thực mời
25
1.

TRÌNH TỰ XÁC THỰC ĐĂNG KÝ

 Mô hình xác thực đăng ký

26
2. TRÌNH TỰ XÁC THỰC MỜI
 Mô hình xác thực mời

27
Nat Traversal
28
Giải pháp TURN
• Xử lý gói tin SIP
• Xử lý gói tin RTP

29
Xử lý gói tin SIP

30
Xử lý gói tin RTP

31
ASTERISK
TỔNG QUAN
• Asterisk là phần mềm mã nguồn mở được viết bằng
ngôn ngữ C chạy trên HĐH Linux thực hiện tất cả các tính
năng của tổng đài PBX và hơn thế nữa.
• Asterisk ra đời năm 1999 bởi Mark Spencer nhằm mục
đích hỗ trợ công ty của anh ta trong việc liên lạc đàm
thoại hỗ trợ cộng đồng người sử dụng và phát triển
Linux.
• Không gói gọn thông tin liên lạc trong công ty mà các
ứng dụng giao tiếp với mạng PSTN hoặc mạng VOIP
(như voice777) cho phép gọi ra bất cứ số điện thoại nào
có trên mạng PSTN.
Cấu hình tổng đài asterisk
Một số ứng dụng với Asterisk
Kiến trúc

Back to back User Agent
(B2BUA)

Session Initiation Protocol (SIP)
Proxy

Kết nối
với PSTN

Có nhiều thẻ giao diện để
kết nối với mạng PSTN. Dễ
dàng cài đặt thẻ điện thoại
và cấu hình trong các máy
chủ Asterisk

OpenSIP luôn cần một cổng SIP
để kết nối với mạng PSTN.
Không có khả năng cài đặt thẻ
điện thoại trong máy chủ

NAT
Traversal

Có thể giao dịch với NAT
traversal để cho phép bạn
gửi các bằng giọng nói
(hoặc dòng video) từ Điện
thoại IP hoặc các phần
mềm VoIP khách hàng của
bạn trực tiếp đến một nhà
cung cấp dịch vụ điện thoại
VoIP

OpenSIPS đề tốt hơn rất nhiều
với NAT traversal. Cho phép bạn
thao tác trực tiếp giao tiếp SIP
để xử lý trường hợp đặc biệt
như khi có 2 máy điện thoại
VoIP phía sau router NAT cùng
và muốn gửi phương tiện
truyền thông trực tiếp giữa
chúng.
Load
Balancing

Có thể được cấu hình để
cân bằng tải bởi "tên
người dùng", "Ruri",
"callid” và một số khác.

Một thế mạnh độc đáo của
OpenSIPS là khả năng cân bằng
tải các cuộc gọi VoIP với việc sử
dụng các hàm băm chuyên
dụng.

Truy cập
mức độ
thấp vào
Header và
giao dịch

IAX. Điều này làm cho nó
có thể chuyển tín hiệu
Header và Truyền thông
trong cùng một gói dữ
liệu và cùng một cổng!

Với OpenSIPS bạn có thể xử lý
dịch giữa hai phiên bản không
tương thích của SIP, xử lý trực
tiếp các tiêu đề SIP, yêu cầu, và
câu trả lời.

Kết Luận

Đơn giản để cấu hình và
có thể xử lý thấp với khối
lượng trung bình.

Khi có một số nhu cầu đặc biệt,
chẳng hạn như cân bằng tải
hoặc khi bạn có khối lượng lớn
người sử dụng đã đăng ký.

More Related Content

What's hot

Chuyen giao trong gsm
Chuyen giao trong gsmChuyen giao trong gsm
Chuyen giao trong gsmLinh Dinh
 
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưđề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưnataliej4
 
Quy trinh lap dat bts
Quy trinh lap dat btsQuy trinh lap dat bts
Quy trinh lap dat btsDinh Dan
 
Nghiên cứu công nghệ thủy phân và lên men đồng thời lục bình thành cồn sinh học
Nghiên cứu công nghệ thủy phân và lên men đồng thời lục bình thành cồn sinh họcNghiên cứu công nghệ thủy phân và lên men đồng thời lục bình thành cồn sinh học
Nghiên cứu công nghệ thủy phân và lên men đồng thời lục bình thành cồn sinh họcTÀI LIỆU NGÀNH MAY
 
Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019
Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019
Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019TiLiu5
 
Asterisk sach asterisk tieng viet
Asterisk sach asterisk tieng vietAsterisk sach asterisk tieng viet
Asterisk sach asterisk tieng vietlaonap166
 

What's hot (20)

Chuyen giao trong gsm
Chuyen giao trong gsmChuyen giao trong gsm
Chuyen giao trong gsm
 
luan van thac si giam sat nhiet do am va dieu khien thiet bi dien qua internet
luan van thac si giam sat nhiet do am va dieu khien thiet bi dien qua internetluan van thac si giam sat nhiet do am va dieu khien thiet bi dien qua internet
luan van thac si giam sat nhiet do am va dieu khien thiet bi dien qua internet
 
Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3
Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3
Đề tài: Điều khiển xe robot bằng giọng nói với Raspberry pi 3
 
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOTĐề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
 
Đề tài: hệ thống phân loại sản phẩm bằng nhận dạng mờ, HAY
Đề tài: hệ thống phân loại sản phẩm bằng nhận dạng mờ, HAYĐề tài: hệ thống phân loại sản phẩm bằng nhận dạng mờ, HAY
Đề tài: hệ thống phân loại sản phẩm bằng nhận dạng mờ, HAY
 
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểmKho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
 
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưđề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
 
Đề tài: 5G – Tổng quan về tiêu chuẩn thách thức, phát triển, HAY
Đề tài: 5G – Tổng quan về tiêu chuẩn thách thức, phát triển, HAYĐề tài: 5G – Tổng quan về tiêu chuẩn thách thức, phát triển, HAY
Đề tài: 5G – Tổng quan về tiêu chuẩn thách thức, phát triển, HAY
 
Dự án Nhà máy sấy kho tồn trữ xay xát lúa gạo xuất khẩu 0903034381
Dự án Nhà máy sấy kho tồn trữ xay xát lúa gạo xuất khẩu 0903034381Dự án Nhà máy sấy kho tồn trữ xay xát lúa gạo xuất khẩu 0903034381
Dự án Nhà máy sấy kho tồn trữ xay xát lúa gạo xuất khẩu 0903034381
 
Wdm
WdmWdm
Wdm
 
luan van thac si thuat toan p&0 mat troi
luan van thac si thuat toan p&0 mat troi luan van thac si thuat toan p&0 mat troi
luan van thac si thuat toan p&0 mat troi
 
Dự Án nhà máy gỗ ghép thanh và Băm dăm
Dự Án nhà máy gỗ ghép thanh và Băm dămDự Án nhà máy gỗ ghép thanh và Băm dăm
Dự Án nhà máy gỗ ghép thanh và Băm dăm
 
Quy trinh lap dat bts
Quy trinh lap dat btsQuy trinh lap dat bts
Quy trinh lap dat bts
 
Đề tài: Nghiên cứu chế tạo mô hình máy pha sơn tự động, HAY
Đề tài: Nghiên cứu chế tạo mô hình máy pha sơn tự động, HAYĐề tài: Nghiên cứu chế tạo mô hình máy pha sơn tự động, HAY
Đề tài: Nghiên cứu chế tạo mô hình máy pha sơn tự động, HAY
 
Đề tài: Thiết kế hộp điều khiển thiết bị bằng sóng hồng ngoại
Đề tài: Thiết kế hộp điều khiển thiết bị bằng sóng hồng ngoạiĐề tài: Thiết kế hộp điều khiển thiết bị bằng sóng hồng ngoại
Đề tài: Thiết kế hộp điều khiển thiết bị bằng sóng hồng ngoại
 
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhàĐề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
 
Đề tài: Hệ thống Iot phục vụ cho nông nghiệp ứng dụng Gateway
Đề tài: Hệ thống Iot phục vụ cho nông nghiệp ứng dụng GatewayĐề tài: Hệ thống Iot phục vụ cho nông nghiệp ứng dụng Gateway
Đề tài: Hệ thống Iot phục vụ cho nông nghiệp ứng dụng Gateway
 
Nghiên cứu công nghệ thủy phân và lên men đồng thời lục bình thành cồn sinh học
Nghiên cứu công nghệ thủy phân và lên men đồng thời lục bình thành cồn sinh họcNghiên cứu công nghệ thủy phân và lên men đồng thời lục bình thành cồn sinh học
Nghiên cứu công nghệ thủy phân và lên men đồng thời lục bình thành cồn sinh học
 
Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019
Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019
Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019
 
Asterisk sach asterisk tieng viet
Asterisk sach asterisk tieng vietAsterisk sach asterisk tieng viet
Asterisk sach asterisk tieng viet
 

Viewers also liked

Tài liệu Full VOIP
Tài liệu Full VOIPTài liệu Full VOIP
Tài liệu Full VOIPThanh Sơn
 
Tài liệu Full VOIP
Tài liệu Full VOIPTài liệu Full VOIP
Tài liệu Full VOIPThanh Sơn
 
Moulding and shaping Asterisk for any size business
Moulding and shaping Asterisk for any size businessMoulding and shaping Asterisk for any size business
Moulding and shaping Asterisk for any size businessClarotech_Events
 
Nghiên cứu xây dựng ứng dụng bảo mật VoIP trên HĐH Android
Nghiên cứu xây dựng ứng dụng bảo mật VoIP trên HĐH AndroidNghiên cứu xây dựng ứng dụng bảo mật VoIP trên HĐH Android
Nghiên cứu xây dựng ứng dụng bảo mật VoIP trên HĐH AndroidNguyễn Tuấn
 
Sach asterisk tieng viet full
Sach asterisk tieng viet fullSach asterisk tieng viet full
Sach asterisk tieng viet fullltphong_it
 

Viewers also liked (6)

Tài liệu Full VOIP
Tài liệu Full VOIPTài liệu Full VOIP
Tài liệu Full VOIP
 
Tài liệu Full VOIP
Tài liệu Full VOIPTài liệu Full VOIP
Tài liệu Full VOIP
 
Moulding and shaping Asterisk for any size business
Moulding and shaping Asterisk for any size businessMoulding and shaping Asterisk for any size business
Moulding and shaping Asterisk for any size business
 
Thiết lập tổng đài VOIP
Thiết lập tổng đài VOIPThiết lập tổng đài VOIP
Thiết lập tổng đài VOIP
 
Nghiên cứu xây dựng ứng dụng bảo mật VoIP trên HĐH Android
Nghiên cứu xây dựng ứng dụng bảo mật VoIP trên HĐH AndroidNghiên cứu xây dựng ứng dụng bảo mật VoIP trên HĐH Android
Nghiên cứu xây dựng ứng dụng bảo mật VoIP trên HĐH Android
 
Sach asterisk tieng viet full
Sach asterisk tieng viet fullSach asterisk tieng viet full
Sach asterisk tieng viet full
 

Similar to VoIP with Opensips

50137078 đề-tai-giao-thức-sip (1)
50137078 đề-tai-giao-thức-sip (1)50137078 đề-tai-giao-thức-sip (1)
50137078 đề-tai-giao-thức-sip (1)didauday01
 
Slide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfSlide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfHuyVnh4
 
OpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseOpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseHoàng Tuấn Lê
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word documentNguyễn 0983882811
 
Ex 1 chapter03-appliation-layer-tony_chen - tieng viet
Ex 1 chapter03-appliation-layer-tony_chen - tieng vietEx 1 chapter03-appliation-layer-tony_chen - tieng viet
Ex 1 chapter03-appliation-layer-tony_chen - tieng vietĐô GiẢn
 
Go micro framework to build microservices
Go micro framework to build microservicesGo micro framework to build microservices
Go micro framework to build microservicesTechMaster Vietnam
 
ITLC HN 14 - Bizweb Microservices Architecture
ITLC HN 14  - Bizweb Microservices ArchitectureITLC HN 14  - Bizweb Microservices Architecture
ITLC HN 14 - Bizweb Microservices ArchitectureIT Expert Club
 
Socket - Lập trình hệ thống
Socket - Lập trình hệ thốngSocket - Lập trình hệ thống
Socket - Lập trình hệ thốngĐông Nguyễn Văn
 
Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4thunguyet88
 
Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4thunguyet88
 
Kinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vnKinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vnDotnet Open Group
 
Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4thunguyet88
 
Slides Lập trình mạng
Slides Lập trình mạngSlides Lập trình mạng
Slides Lập trình mạngasakebigone
 
PHP Day 2011 iway voip asterisk & freepbx nguyenpnb
PHP Day 2011 iway voip asterisk & freepbx nguyenpnbPHP Day 2011 iway voip asterisk & freepbx nguyenpnb
PHP Day 2011 iway voip asterisk & freepbx nguyenpnbQuang Anh Le
 
Bai giang-Lap trinh he thong-Ch2-Lap trinh Socket.pdf
Bai giang-Lap trinh he thong-Ch2-Lap trinh Socket.pdfBai giang-Lap trinh he thong-Ch2-Lap trinh Socket.pdf
Bai giang-Lap trinh he thong-Ch2-Lap trinh Socket.pdfCanhPhuongVan
 

Similar to VoIP with Opensips (20)

50137078 đề-tai-giao-thức-sip (1)
50137078 đề-tai-giao-thức-sip (1)50137078 đề-tai-giao-thức-sip (1)
50137078 đề-tai-giao-thức-sip (1)
 
Dsd05 01-rpca
Dsd05 01-rpcaDsd05 01-rpca
Dsd05 01-rpca
 
Slide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdfSlide 01-Web Application Overview (1).pdf
Slide 01-Web Application Overview (1).pdf
 
OpenWIPS-ng report Vietnamese
OpenWIPS-ng report VietnameseOpenWIPS-ng report Vietnamese
OpenWIPS-ng report Vietnamese
 
New microsoft office word document
New microsoft office word documentNew microsoft office word document
New microsoft office word document
 
Voip
VoipVoip
Voip
 
Ex 1 chapter03-appliation-layer-tony_chen - tieng viet
Ex 1 chapter03-appliation-layer-tony_chen - tieng vietEx 1 chapter03-appliation-layer-tony_chen - tieng viet
Ex 1 chapter03-appliation-layer-tony_chen - tieng viet
 
Go micro framework to build microservices
Go micro framework to build microservicesGo micro framework to build microservices
Go micro framework to build microservices
 
ITLC HN 14 - Bizweb Microservices Architecture
ITLC HN 14  - Bizweb Microservices ArchitectureITLC HN 14  - Bizweb Microservices Architecture
ITLC HN 14 - Bizweb Microservices Architecture
 
Bizweb Microservices Architecture
Bizweb Microservices ArchitectureBizweb Microservices Architecture
Bizweb Microservices Architecture
 
Phan 1 sv
Phan 1   svPhan 1   sv
Phan 1 sv
 
Socket - Lập trình hệ thống
Socket - Lập trình hệ thốngSocket - Lập trình hệ thống
Socket - Lập trình hệ thống
 
Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4
 
Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4
 
Sapo Microservices Architecture
Sapo Microservices ArchitectureSapo Microservices Architecture
Sapo Microservices Architecture
 
Kinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vnKinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vn
 
Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4Gioi thieu dien thoai tong siemens hi path 4000 v4
Gioi thieu dien thoai tong siemens hi path 4000 v4
 
Slides Lập trình mạng
Slides Lập trình mạngSlides Lập trình mạng
Slides Lập trình mạng
 
PHP Day 2011 iway voip asterisk & freepbx nguyenpnb
PHP Day 2011 iway voip asterisk & freepbx nguyenpnbPHP Day 2011 iway voip asterisk & freepbx nguyenpnb
PHP Day 2011 iway voip asterisk & freepbx nguyenpnb
 
Bai giang-Lap trinh he thong-Ch2-Lap trinh Socket.pdf
Bai giang-Lap trinh he thong-Ch2-Lap trinh Socket.pdfBai giang-Lap trinh he thong-Ch2-Lap trinh Socket.pdf
Bai giang-Lap trinh he thong-Ch2-Lap trinh Socket.pdf
 

More from Trần Thanh

More from Trần Thanh (20)

8.replication
8.replication8.replication
8.replication
 
7. backup & restore data
7. backup & restore data7. backup & restore data
7. backup & restore data
 
07 trigger view
07 trigger view07 trigger view
07 trigger view
 
6.3 my sql queryoptimization_part2
6.3 my sql queryoptimization_part26.3 my sql queryoptimization_part2
6.3 my sql queryoptimization_part2
 
6.2 my sql queryoptimization_part1
6.2 my sql queryoptimization_part16.2 my sql queryoptimization_part1
6.2 my sql queryoptimization_part1
 
6.1 query optimization overview
6.1 query optimization overview6.1 query optimization overview
6.1 query optimization overview
 
5. indexing
5. indexing5. indexing
5. indexing
 
4.2 transaction 2
4.2 transaction 24.2 transaction 2
4.2 transaction 2
 
4.2 transaction
4.2 transaction4.2 transaction
4.2 transaction
 
4 trigger
4  trigger4  trigger
4 trigger
 
2.3 quan ly truy cap
2.3 quan ly truy cap2.3 quan ly truy cap
2.3 quan ly truy cap
 
2.1 view
2.1 view2.1 view
2.1 view
 
01 gioithieu
01 gioithieu01 gioithieu
01 gioithieu
 
2.2 cac chuong trinh my sql
2.2 cac chuong trinh my sql2.2 cac chuong trinh my sql
2.2 cac chuong trinh my sql
 
9. partitioning
9. partitioning9. partitioning
9. partitioning
 
Chuan
ChuanChuan
Chuan
 
C4 1 tuan 14
C4 1 tuan 14C4 1 tuan 14
C4 1 tuan 14
 
C3 2
C3 2C3 2
C3 2
 
C3 2 (tuan6,7)
C3 2 (tuan6,7)C3 2 (tuan6,7)
C3 2 (tuan6,7)
 
C3 1
C3 1C3 1
C3 1
 

VoIP with Opensips

  • 1. Các vấn đề hiện đại mạng máy tính và truyền thông Đề tài : Xây dựng hệ thống VOIP với opensips Giảng viên : Dương Lê Minh 1
  • 2. Danh sách nhóm 1. Trần Văn Thanh(cài đặt, cấu hình opensips, script & routing basic) 2. Hoàng Đình Quyền(cài đặt opensips,SIP NAT traversal) 3. Phạm Hồng Sơn(tìm hiểu giao thức SIP) 4. Đặng Thị Huyền( xác thực với MYSQL) 5. Trần Thị Tươi (tìm hiểu Askterisk ) 6. Vũ Viết Tùng (tìm hiểu opensips) 2
  • 3. Nội dung • • • • • • Giới thiệu về VoIP và SIP Giới thiệu về opensips (các thành phần chính) Config and routing script Xác thực sử dụng MYSQL NAT traversal Asterisk 3
  • 4. VoIP ? • VoIP (Voice over Internet Protocol) là công nghệ truyền giọng nói thông qua mạng sử dụng giao thức TCP/IP. Các gói dữ liệu IP được trao đổi là mã hóa của tín hiệu đàm thoại 4
  • 5. Các giao thức được dùng trong VoIP Các giao thức báo hiệu của VoIP cho phép thiết lập giao tiếp cho các ứng dụng đa phương tiện như audio, video,.. Một số giao thức: • SIP • Mgcp • H323 Trong đó SIP phổ biến hơn cả 5
  • 7. Khái niệm • SIP ( Session Initiation Protocol) là giao thức điều khiển báo hiệu thuộc lớp ứng dụng trong mô hình OSI • hỗ trợ các hoạt động chính sau: • Định vị trí của người dùng • Định media cho phiên làm việc • Định sự sẵn sàng của người dùng để tham gia vào một phiên làm việc • Thiết lập cuộc gọi , chuyển cuộc gọi và kết thúc 7
  • 8. Kiến trúc của SIP • Gồm 5 thành phần chính: • • • • • User Agent(UA) Proxy Server Redirect Server Location Server Registrar Server 8
  • 9. Hoạt động của SIP • Hoạt động của máy chủ ủy quyền(Proxy Server) 9
  • 10. Hoạt động của SIP • Hoạt động của máy chủ chuyển đổi địa chỉ(Redirect Server) 10
  • 11. Một phiên hội thoại SIP 11
  • 12. OpenSIPS ? • Là một phiên bản mã nguồn mở hoàn chỉnh của một SIP proxy server, thành phần cốt lõi của các giải pháp VoIP. • OpenSIPS tích hợp voice, video ,IM (Instant Message) và các dịch vụ trình chiếu • Thiết lập module dễ dàng nâng cấp, mang lại hiệu quả cao • OpenSIPS kế thừa bởi dự án OpenSER 12
  • 13. Opensips- Sip proxy Server • Nhận, kiểm tra, phân loại yêu cầu SIP xem chúng có đúng hay không rồi chuyển đến một đích thích hợp. • Trước khi chuyển lại yêu cầu, Opensips có thể thay đổi, thêm hoặc bỏ header và/hoặc thay đổi địa chỉ đích ban đầu. • Các yêu cầu không mong muốn sẽ được gửi lại cùng với trả lời từ chối. • Các yêu cầu được phép sẽ được chuyển tiếp đến một đích hoặc qua một Proxy Server khác. • Opensips có thể gửi và nhận nhiều yêu cầu đến nhiều đích tại cùng một thời điểm. 13
  • 14. Opensips- Sip proxy Server(cont.) • Xử lý các câu trả lời gửi về server trước khi gửi lại cho nguồn(có thể giữ nguyên hoặc sửa trả lời cho phù hợp) • Chạy như một dịnh vụ nền để nghe các yêu cầu qua các cổng. • Có các kịch bản định tuyến được mô tả trong file config. Trong file config có thể thay đổi theo người quản lí. • Một số tính năng nổi trội của Opensips: • • • • Xử lí đăng kí: Register Server. An toàn thông tin: hỗ trợ TLS Lưu trữ thông tin vào cơ sở dự liệu. NAT traversal. 14
  • 15. Hiệu suất cơ bản • Chạy trên hệ thống nhúng, hiệu suất hàng trăm thiết lập cuộc gọi/giây • Với một hệ thống yếu vẫn có thể phục vụ số lượng thuê bao trực tuyến lớn. • Hệ thống dễ dàng mở rộng bằng việc thêm máy chủ. • Opensips hộ trợ cả Ipv4 và Ipv6, phục vụ được multiple Domain. 15
  • 17. Cấu hình opensips • Opensips được cấu hình mặc định trong file opensips.cfg ,thực hiện điều khiển ,các modul, tham số, routing script. 17
  • 18. Thành phần file config opensips • Tham số toàn cục (global parametter) • Các modul& cấu hình modul • Khối định tuyến • • • • • Khối định tuyến phản hồi Khối định tuyến thất bại Khối định tuyến nhánh Khối định tuyến lỗi ... • Script 18
  • 19. Tham số toàn cục • Protocol control • disable_tcp=no • disable_tls=no • Listen interfaces • listen=udp:192.168.2.2:5060 • listen=tcp:192.168.2.3:5066 • listen=tls:192.168.2.3:5061 • Logging • • • • • debug=3 #logging level memlog=3 #log level for memory related debugging log_stderror=no #use syslog and not standard error log_facility=LOG_LOCAL0 log_name=”my-proxy” #default is argv[0] 19
  • 20. Tham số toàn cục • Number of processes • fork = yes # fork ảnh hưởng công việc của hệ thống SIP • children = 4 # sô tiến trình / giao diện UDP • tcp_children = 6 # tổng số tiến trình SIP TCP hoạt động 20
  • 21. Modules • Loading a module • loadmodule “/usr/lib/opensips/modules/tm.so” hoặc • mpath=”/usr/lib/opensips/modules/” • loadmodule “tm.so” • Setting module parameter • modparam(“tm”, ”fr_inv_timer”, 20) module name parameter name parameter value • modparam(“tm”, ”fr_inv_timer_avp”, ”$avp(tm_timeout)”) • Multi-module parameters • modparam(“usrloc|auth_db”, ”db_url”, “mysql:openser@localhost/openser”) 21
  • 22. Định tuyến • Định tuyến chứa các hành động định tuyến logic • Có thể có nhiều định tuyến • Có nhiều loại định tuyến: • • • • • request route : route[n] {...} reply route: onreply_route[m] {...} failure route: failure_route[x] {...} branch route: branch_route[y] {...} error_route: error_route {...} • Trong định tuyến có thể sử dụng: • Các hàm trích xuất từ module • Từ khóa và các giá trị xác định từ lõi • Biến giả trích xuất từ lõi hoặc các module 22
  • 23. Định tuyến • Ví dụ route { lookup("location"); t_on_failure("1"); if(!t_relay()) { sl_send_reply("500", "relaying failed"); } } failure_route[1] { if(is_method("INVITE")) { # call failed - relay to voice mail t_relay_to_udp("voicemail.server.com","5060"); } } 23
  • 24. Script • Các giá trị đã được định nghĩa trước Vd: + TCP / TLS / UDP thiết lập dựa trên giao thức được sử dụng + INET/ INET6 thiết lập theo giao thức IPv4 hoặc IPv6 • Từ khóa • • • • • af / proto dst_ip / dst_port src_ip / src_port method / status / retcode uri / from_uri / to_uri • Ví dụ : if (proto==UDP && af==INET) { log(“message received use UDP and IPv4 ”)} • if (method==”INVITE” && uri=~”sip:[0-9]+@”) {...} • 24
  • 25. Xác thực với MYSQL Nội dung chính 1. Trình tự xác thực đăng ký 2. Trình tự xác thực mời 25
  • 26. 1. TRÌNH TỰ XÁC THỰC ĐĂNG KÝ  Mô hình xác thực đăng ký 26
  • 27. 2. TRÌNH TỰ XÁC THỰC MỜI  Mô hình xác thực mời 27
  • 29. Giải pháp TURN • Xử lý gói tin SIP • Xử lý gói tin RTP 29
  • 30. Xử lý gói tin SIP 30
  • 31. Xử lý gói tin RTP 31
  • 33. TỔNG QUAN • Asterisk là phần mềm mã nguồn mở được viết bằng ngôn ngữ C chạy trên HĐH Linux thực hiện tất cả các tính năng của tổng đài PBX và hơn thế nữa. • Asterisk ra đời năm 1999 bởi Mark Spencer nhằm mục đích hỗ trợ công ty của anh ta trong việc liên lạc đàm thoại hỗ trợ cộng đồng người sử dụng và phát triển Linux. • Không gói gọn thông tin liên lạc trong công ty mà các ứng dụng giao tiếp với mạng PSTN hoặc mạng VOIP (như voice777) cho phép gọi ra bất cứ số điện thoại nào có trên mạng PSTN.
  • 34.
  • 35. Cấu hình tổng đài asterisk
  • 36. Một số ứng dụng với Asterisk
  • 37. Kiến trúc Back to back User Agent (B2BUA) Session Initiation Protocol (SIP) Proxy Kết nối với PSTN Có nhiều thẻ giao diện để kết nối với mạng PSTN. Dễ dàng cài đặt thẻ điện thoại và cấu hình trong các máy chủ Asterisk OpenSIP luôn cần một cổng SIP để kết nối với mạng PSTN. Không có khả năng cài đặt thẻ điện thoại trong máy chủ NAT Traversal Có thể giao dịch với NAT traversal để cho phép bạn gửi các bằng giọng nói (hoặc dòng video) từ Điện thoại IP hoặc các phần mềm VoIP khách hàng của bạn trực tiếp đến một nhà cung cấp dịch vụ điện thoại VoIP OpenSIPS đề tốt hơn rất nhiều với NAT traversal. Cho phép bạn thao tác trực tiếp giao tiếp SIP để xử lý trường hợp đặc biệt như khi có 2 máy điện thoại VoIP phía sau router NAT cùng và muốn gửi phương tiện truyền thông trực tiếp giữa chúng.
  • 38. Load Balancing Có thể được cấu hình để cân bằng tải bởi "tên người dùng", "Ruri", "callid” và một số khác. Một thế mạnh độc đáo của OpenSIPS là khả năng cân bằng tải các cuộc gọi VoIP với việc sử dụng các hàm băm chuyên dụng. Truy cập mức độ thấp vào Header và giao dịch IAX. Điều này làm cho nó có thể chuyển tín hiệu Header và Truyền thông trong cùng một gói dữ liệu và cùng một cổng! Với OpenSIPS bạn có thể xử lý dịch giữa hai phiên bản không tương thích của SIP, xử lý trực tiếp các tiêu đề SIP, yêu cầu, và câu trả lời. Kết Luận Đơn giản để cấu hình và có thể xử lý thấp với khối lượng trung bình. Khi có một số nhu cầu đặc biệt, chẳng hạn như cân bằng tải hoặc khi bạn có khối lượng lớn người sử dụng đã đăng ký.

Editor's Notes

  1. Kiến trúc Sip proxy nhanh hơn một B2BUA vì nó xử lý với tín hiệu. B2BUA kiến trúc phức tạp hơn nhưng nó có khả năng xử lý các phương tiện truyền thông(tiếng nói) và các dịch vụ liên quan như thư thoại, nhận dạng giọng nói…Đôi khi Asterisk sẽ được sử dụng như một cổng SIP để kết nối với mạng PSTN\Nat: Network Address Translation (NAT)là một chức năng của một bộ định tuyến mạng để lập bản đồ địa chỉ IP riêng đến các địa chỉ IP công cộng (internet) Chức năng này khá giống nhau nhưng OpenSIPS tốt hơn rất nhiều
  2. Load Balancing OpenSIPS là "chuyển đổi dự phòng" và có thể làm cho một giải pháp bổ sung của Asterisk .Nó có thể sử dụng tin nhắn chuyển hướng tiêu thụ rất ít tài nguyên từ máy cân bằng tải. Truy cập mức độ thấp vào SIP Header và giao dịch Đây là một tính năng quan trọng khi bạn có việc thực hiện SIP từ các nhà sản xuất khác nhau, có thể không tương thích với nhau.