Lession 2 - Giao Thuc Sip

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 56

CÔNG NGHỆ THOẠI IP

BÀI 3
Giao thức SIP
Giao thức SIP
• SIP là một giao thức chuẩn do IETF phát triển từ năm 1996
• Đầu tiên SIP chỉ đơn thuần là một giao thức dùng để thiết
lập phiên quảng bá cho Internet2, sau đó người ta đã phát
hiện ra rằng nó cũng rất thích hợp trong liên lạc cá nhân.
• Đầu tiên SIP chỉ đơn thuần là một giao thức dùng để thiết
lập phiên quảng bá cho Internet2, sau đó người ta đã phát
hiện ra rằng nó cũng rất thích hợp trong liên lạc cá nhân
Sụ phát triển của Giao thức SIP
• SIP được tiêu chuẩn hóa lần đầu tiên vào tháng 3
năm 1999 trong bộ tiêu chuẩn RFC 2543
• SIP được sửa đổi vào tháng 5 năm 2002 trong tiêu
chuẩn RFC 3261, với:
• 22 lĩnh vực tiêu chuẩn mới của RFCs
• 21 bản dự thảo của các nhóm làm việc về Internet, và
hơn 50 văn bản tiêu chuẩn do các nhóm độc lập không
phải là thành viên của các nhóm làm việc (WG) đệ trình
Mạng VoIP sử dụng Giao thức SIP
• SIP đưa ra nhằm mục đích thực hiện một hệ thống có khả năng
truyền dữ liệu Multimedia qua môi trường mạng IP.
• SIP là giao thức báo hiệu điều khiển lớp ứng dụng được dùng để
thiết lập, duy trì, kết thúc các phiên truyền thông đa phương tiện
(multimedia).
• Các phiên truyền thông multimedia bao gồm thoại Internet, hội
nghị, và các ứng dụng tương tự có liên quan đến truyền âm
thanh, hình ảnh, và dữ liệu.
Đặc tính của Giao thức SIP
• SIP dựa trên ý tưởng của SMTP và HTTP. Nó được định nghĩa
theo mô hình client-server trong đó các yêu cầu được bên gọi
(bên client) đưa ra và bên bị gọi (server) trả lời nhằm đáp ứng
yêu cầu của bên gọi.
• SIP sử dụng một số kiểu bản tin và header giống HTTP, xác
định nội dung thông tin cụ thể giống như giao thức được sử
dụng trên Web.
• Địa chỉ SIP có dạng URL sip:utilisateur@adresse. tel@domaine
• Hỗ trợ liên lạc với thời gian thực
Hoạt động của SIP
• Giao thức SIP (Session Initiation Protocol) là một
giao thức điều khiển lớp ứng dụng (báo hiệu) để: tạo
ra, thay đổi và kết thúc các phiên làm việc đa
phương tiện có một hoặc nhiều người tham gia
• Các phiên SIP bao gồm:
• Hội họp đa phương tiện qua Internet
• Các cuộc gọi điện thoại Internet
• Các phiên Video qua Internet và
• Phân phối dữ liệu đa phương tiện
Các thành phần của Giao thức SIP
Chức năng chính của SIP
• Thiết lập một phiên liên lạc (communication session hay còn gọi
là transaction). Để làm được điều đó, nó phải có khả năng biết
các user online/offline, biết khả năng của thiết bị của user
(terminal capacity)
• Thiết lập phiên (chuyển tải thông tin liên quan đến phiên liên lạc
- session description)
• Quản lý phiên liên lạc
• Thay đổi các đặc tính liên quan đến phiên liên lạc
• Kết thúc phiên
Giao thức SIP
Các dịch vụ của SIP

• Định vị user: Xác định vị trí của user tiến hành hội thoại.
• Xác định các phương thức (phương tiện) và các tham số
tương ứng trong hội thoại phù hợp với năng lực của user.
• Xác định những user sẵn sàng tham gia hội thoại.
• Thiết lập các tham số cần thiết cho cuộc gọi.
• Điều khiển cuộc gọi: Bao gồm cả quá trình truyền và kết
thúc cuộc gọi.
Mạng VoIP với SIP
Điện thoại SIP và điện thoại video SIP
Các đặc tính của giao thức SIP
• SIP là một giao thức mở rộng đơn giản
• Các phương thức (Methods): Định nghĩa về phiên truyền
thông
• Khối mào đầu (Headers): Mô tả về phiên truyền thông
• Phần thân tin báo (Message Body): SDP, kýtự, XML
Mạng VoIP - SIP
• Có hai loại bản tin:
• bản tin yêu cầu (Request)
• bản tin đáp ứng (Respond)
• Các bản tin sử dụng chung một định dạng cơ bản
được quy định trong RFC 2822 với cấu trúc
• Một dòng khởi đầu (start-line)
• Một số trường tiêu đề
• Một phần thân bản tin tuỳ chọn.
Cấu trúc bản tin SIP
Cấu trúc bản tin SIP:
generic-message = start-line
*message-header
CRLF
[ message-body ]
• start-line = Request-Line / Status-Line
• Message-header = (general-header/Requestheader/Respone-header/entity-header)
• Dòng khởi đầu, các dòng tiêu đề hay dòng trống phải được kết thúc bằng một kí tự
dòng trống, xuống dòng (CRLF)
• Lưu ý rằng dòng trống vẫn phải có để ngăn cách phần tiêu đề và thân của bản tin
ngay cả khi phần thân bản tin là rỗng.
Trường mào đầu
Các loại bản tin SIP
• INVITE
• BYE
• ACK
• OPTIONS
• REGISTER
• CANCEL
INVITE
• Để chỉ thị rằng thuê bao hoặc dịch vụ được mời
tham gia vào một phiên.
• Bao gồm một mô tả phiên và đối với các cuộc gọi
song công thì bên chủ gọi chỉ thị phương thức
truyền thông (media) trong bản tin này.
• Theo phương pháp này các bên có thể xác định
được các khả năng của bên kia và bắt đầu một phiên
hội thoại .
OPTIONS và BYE
• OPTIONS : Bản tin này cho phép truy vấn và tập
hợp các khả năng của user agent và network server.
Tuy nhiên yêu cầu này không được dùng để thiết lập
phiên.
• BYE: Bên chủ gọi và bị gọi sử dụng yêu cầu này để
giải phóng cuộc gọi. Trước khi thực sự giải phóng
cuộc gọi, user agent gửi yêu cầu này tới server để
cảnh báo rằng nó muốn giải phóng phiên làm việc.
CANCEL và REGISTER
• CANCEL: Yêu cầu này cho phép user agent và
network server xoá bỏ bất kỳ một yêu cầu nào đang
thi hành.
• REGISTER: yêu cầu này được client dùng để đăng
ký thông tin với SIP server
Thành phần trong hệ thống SIP
• Hai thành phần chính trong hệ thống SIP là
• User agent bao gồm User Agent Client (UAC) và User
Agent Server (UAS)
• Network server bao gồm Proxy server, Redirect server,
Registar server, Location server
• Các user agent gọi và bị gọi được nhận dạng bằng
các địa chỉ SIP.
User Agent
• Đóng vai trò của thiết bị đầu cuối trong báo hiệu
SIP
• User Agent Client (UAC): Khởi tạo các yêu cầu SIP
và đóng vai trò như tác nhân chủ gọi của người
dùng.
• User Agent Server (UAS): Nhận các yêu cầu và
thay mặt cho người sử dụng gửi trả các đáp ứng,
đóng vai trò như tác nhân bị gọi.
Network server
• Proxy server: xử lý các yêu cầu hoặc chuyển đổi nội dung rồi
gửi cho các server khác
• Location server: định vị thuê bao và cung cấp thông tin cho
proxy hoặc redirect server
• Redirect server: xác định server chặng tiếp theo rồi thông báo
cho client để nó tự gửi yêu cầu. Redirect server không tạo và gửi
yêu cầu
• Registrar server: tiếp nhận và xử lý các yêu cầu REGISTER (vd,
khi bật máy thuê bao), thực hiện nhận thực thuê bao
SIP-URI
• SIP URI là giản đồ đánh địa chỉ SIP dùng để gọi cho người khác thông qua SIP.
Nói một cách khác, SIP URI chính là số điện thoại SIP của người dùng. SIP
URI giống với địa chỉ email và được viết ở dạng sau:
• SIP URI = sip:x@y:Port
Trong đó x=tên người dùng và y=máy (miền hay IP)
• Ví dụ:
sip:joe.bloggs@212.123.1.213
sip:support@phonesystem.3cx.com
sip:22444032@phonesystem.3cx.com
• Tiêu chuẩn SIP URI đã được định nghĩa trong tiêu chuẩn RFC 3261.
Địa chỉ
Mạng VoIP - SIP
Thoâng ñieäp phaûn hoài

1xx Informational

2xx ACK

3xx Redirection

4xx Client Error

5xx Server Error

6xx Global Failure


Thành phần cuûa giao thức SIP
• SIP Addressing
• Locating Server
• SIP Transaction
• SIP Invitation
• Locating User
• Changing Session
Hoạt động của giao thức SIP
• SIP cơ bản
• SIP registration
• SIP trong chế độ proxy
• SIP trong chế độ redirect
• Thiết lập cuộc gọi cơ bản
• Cuộc gọi SIP với proxy server
SIP cơ bản
User User
A B

“Calls”
INVITE: sip:18.18.2.4
18.18.2.4

180 - Ringing Rings

200 - OK Answers

ACK

Talking RTP Talking

Hangs up BYE

200 - OK
SIP Servers

Proxy

Redirect

Registrar

Location

Signaling messages between User


Agent and Servers
UAC UAC

UAS UAS

Ghi chú: (1) Server functions are not necessarily located in the same physical device
UAC: User Agent Client
UAS: User Agent Server
Location server

4. INVITE 5. Ring
1. INVITE

7. 200 OK 6. 200 OK

8. ACK 9. ACK

Proxy Server User Agent 2


User Agent 1
User Agent Registrar Server

REGISTER

200 OK
Location server

1. INVITE

4. 302 Moved
5. ACK
User Agent 1
Redirect Server
7. Ring
6. INVITE
8. 200 OK
9. ACK

User Agent 2
Kết nối với SIP Proxy
Các bản tin trao đổi với SIP Proxy
• (1) Client gửi bản tin INVITE chứa thông tin về bên bị gọi tới Proxy
Server
• (2) Proxy server xác định vị trí của bên bị gọi bằng cách sử dụng các
địa chỉ được cung cấp trong bản tin INVITE và location server .
• (3) Location Server gửi trả lại Proxy Server thông tin đã yêu cầu
• (4) Proxy server gửi yêu cầu INVITE tới địa chỉ mà nó vừa xác định
được.
• (5) Bên bị gọi (server) đáp ứng lại bằng bản tin thành công 200 OK.
• (6) Proxy server lại đáp ứng lại bên Client bằng bản tin 200 OK.
• (7)(8) Client xác nhận bằng bản tin ACK. Bản tin này được gửi qua
Proxy server hoặc được gửi trực tiếp tới bên bị gọi.
Theo kiểu redirect
• (1) Client gửi bản tin INVITE chứa thông tin về bên bị gọi tới
Redirect Server
• (2 Redirect Server xác định vị trí của bên bị gọi bằng cách sử dụng
các địa chỉ được cung cấp trong bản tin INVITE và location server .
• (3) Location Server gửi trả lại Proxy Server thông tin đã yêu cầu
• (4) Sau khi đã xác định được vị trí của thuê bao thì Redirect server
gửi trực tiếp địa chỉ vừa nhận được cho phía Client.
• (5) Client gửi bản tin ACK tới Redirect server để hoàn tất phiên giao
dịch.
• (6) Client gửi trực tiếp yêu cầu INVITE tới bên bị gọi.
• (7)(8) Bên bị gọi đáp ứng bằng bản tin 200 OK và bên chủ gọi xác
nhận bằng bản tin ACK.
SIP registration
User Registrar Location
B MIT.EDU MIT.EDU

REGISTER: sip:dbaron@MIT.EDU

401 - Unauthorized

REGISTER: (add credentials)


sip:dbaron@MIT.EDU
Contact 18.18.2.4
200 - OK
SIP registration

Location Server

jiri@195.37.78.173
REGISTER sip:iptel.org SIP/2.0
From:sip:jiri@iptel.org
To:sip:jiri@iptel.org
Contact:<sip:195.37.78.173>
Expires:3600

SIP/2.0 200 OK
SIP Registrar
(domain: iptel.org)
SIP REGISTER
REGISTER sip:mit.edu SIP/2.0
From: "Dennis Baron"<sip:6172531000@mit.edu>;tag=4561c4561
To: "Dennis Baron"<sip:6172531000@mit.edu>;tag=324591026
Call-Id: 9ce902bd23b070ae0108b225b94ac7fa
Cseq: 5 REGISTER
Contact: "Dennis
Baron"<sip:6172531000@18.10.0.79;LINEID=05523f7a97b54dfa3f0c0e3746d73
4>
Expires: 3600
Date: Thu, 30 Sep 2004 00:46:53 GMT
Accept-Language: en
Supported: sip-cc, sip-cc-01, timer, replaces
User-Agent: Pingtel/2.1.11 (WinNT)
Content-Length: 0
Via: SIP/2.0/UDP 18.10.0.79
SIP REGISTER – 401 Response
SIP/2.0 401 Unauthorized
From: "Dennis Baron"<sip:6172531000@mit.edu>;tag=4561c4561
To: "Dennis Baron"<sip:6172531000@mit.edu>;tag=324591026
Call-Id: 9ce902bd23b070ae0108b225b94ac7fa
Cseq: 5 REGISTER
Via: SIP/2.0/UDP 18.10.0.79
Www-Authenticate: Digest realm="mit.edu",
nonce="f83234924b8ae841b9b0ae8a92dcf0b71096505216",
opaque="reg:change4"
Date: Thu, 30 Sep 2004 00:46:56 GMT
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, REGISTER, NOTIFY,
SUBSCRIBE, INFO
User-Agent: Pingtel/2.2.0 (Linux)
Accept-Language: en
Supported: sip-cc-01, timer
Content-Length: 0
SIP trong chế độ proxy
User Proxy User
A MIT.EDU B

“Calls” dbaron
INVITE: sip:dbaron@MIT.EDU
@MIT.EDU
INVITE: sip:dbaron@18.18.2.4
100 - Trying
180 - Ringing Rings
180 - Ringing

200 - OK Answers
200 - OK

ACK

Talking RTP Talking

Hangs up BYE

200 - OK
SIP trong chế độ proxy

Location Server

jiri@195.37.78.173
jiri
?
INVITE sip:jiri@iptel.org INVITE sip:jiri@195.37.78.173
From:sip:Caller@sip.com From:sip:Caller@sip.com
To:sip:jiri@iptel.org To:sip:jiri@iptel.org
Call-ID:345678@sip.com Call-ID:345678@sip.com

SIP/2.0 200 OK SIP Proxy Server SIP/2.0 200 OK

ACK sip :jiri@195.37.78.173

Caller@sip.com jiri@195.37.78.173
SIP qua gateway
Use Prox Gatewa
rA y
MIT.ED y 3016
U 1

“Calls” joe
INVITE: sip:joe@MIT.EDU
@MIT.EDU
INVITE:
100 - Trying sip:38400@18.162.0.25
Rings
180 - Ringing
180 - Ringing
Answers
200 - OK
200 - OK

ACK
ACK

Talking RTP Talking

Hangs up BYE
BYE

200 - OK

200 - OK
SIP trong chế độ redirect

Location Server

Caller@sip.com

Callee@home.com
Callee
Callee@home.com

?
INVITE sip:Callee@example.com
SIP Redirect
302 Moved Temporarily Server
Contact: Callee@home.com

ACK sip:Callee@example.com
INVITE sip:Callee@home.com

SIP/2.0 200 OK

ACK sip:Callee@home.com
Thiết lập cuộc gọi cơ bản
Basic call setup

 Tên nhận dạng giống địa chỉ email: <sip:alice@home.com>


 Softphone của Alice đăng ký với home.com

REGISTER home.com SIP/2.0


To: sip:alice@home.com
Contact: sip:alice@m2.home.com

office.com
Registrar alice

m2.home.com
bob
home.com
alice@home.com =>
alice@m2.home.com
Thiết lập cuộc gọi cơ bản
Basic call setup

 Tên nhận dạng Uniform Resource Identifiers (URI) giống địa


chỉ email: <sip:alice@home.com>
 Softphone của Alice đăng ký với home.com
 Bob quay số alice@home.com; softphone thực hiện DNS

office.com
alice
DNS lookup for sip.udp.home.com
pc4.home.com
Resolve to pc4.home.com
m2.home.com
bob
home.com
Thiết lập cuộc gọi cơ bản
Basic call setup

 Tên nhận dạng Uniform Resource Identifiers (URI) giống địa


chỉ email: <sip:alice@home.com>
 Softphone của Alice đăng ký với home.com
 Bob quay số alice@home.com; softphone thực hiện DNS
 Phone gởi INVITE; hoạt động như UAC
INVITE sip:alice@home.com …
To: sip:alice@home.com
From: “Bob” <sip:bob@office.com>
office.com …
c=IN IP4 128.59.19.60 alice
m=audio 8000 RTP/AVP 0 5 8
pc4.home.com
m2.home.com
bob
home.com
User agent client
Thiết lập cuộc gọi cơ bản
Basic call setup

 Phone gởi INVITE; hoạt động như UAC


 Server có thể proxy cuộc gọi đến vị trí hiện tại

INVITE sip:alice@m2.home.com …
To: sip:alice@home.com
From: “Bob” <sip:bob@office.com>

office.com
alice
pc4.home.com
m2.home.com
bob
home.com
Proxy
Thiết lập cuộc gọi cơ bản
Basic call setup

 Phone gởi INVITE; hoạt động như UAC


 Server có thể proxy cuộc gọi đến vị trí hiện tại
 Softphoen của Alice rung chuông; hoạt động như một UAS

SIP/2.0 180 Ringing


office.com
alice
pc4.home.com
m2.home.com
bob
home.com
Proxy
User agent
server
Thiết lập cuộc gọi cơ bản
Basic call setup

 Phone gởi INVITE; hoạt động như UAC


 Server có thể proxy cuộc gọi đến vị trí hiện tại
 Softphoen của Alice rung chuông; hoạt động như một UAS
 Khi Alice nhấc máy, cuộc gọi được tiếp nhận và softphone
của Bob gởi tín hiệu ACK để hoàn tất thiết lập cuộc gọi

SIP/2.0 200 OK

office.com c=IN IP4 135.180.144.32
m=audio 9000 RTP/AVP 0 8 alice
pc4.home.com
m2.home.com
bob
home.com
Thiết lập cuộc gọi cơ bản
Basic call setup

 Các gọi thoại đã mã hoá được gởi qua RTP

office.com
alice

bob
home.com
Thiết lập cuộc gọi cơ bản
Basic call setup

 Encoded audio packets sent over RTP


 When either party hangs up BYE is sent

office.com
alice
BYE sip:bob@office.com

bob
home.com
HẾT BÀI 3

You might also like