1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

kiến trúc hoạt động của giao thức SIP

26 44 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 262,32 KB
File đính kèm kiến trúc hoạt động của giao thức SIP.rar (230 KB)

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

Nội dung

Phần thân được sử dụng để mở rộng các ứng dụng của khác nhau của SIP ví dụ như SIP-Tcho liên vận PSTN-SIP-PSTN hoặc MSCML Media Server Control Markup Language cho dịch vụ hội nghị.. SIP

Trang 1

Mục Lục

A.GIỚI THIỆU GIAO THỨC SIP 5

1 Quá trình hình thành và phát triển 5

2.Tổng quan về SIP 5

3 Các khía cạnh mà SIP hỗ trợ trong việc thiết lập và kết thúc các truyền thông đa phương tiện 6

B.KIẾN TRÚC VÀ CHỨC NĂNG CỦA SIP 7

I.Các Thành phần mạng báo hiệu của SIP 7

II.Bản tin SIP 9

1.Các bản tin SIP mào đầu và đánh số 9

2.Khuôn dạng thông điệp 11

2.1 SIP response 11

2.2 SIP request 15

3.Phương thức SIP 15

3.1 Các trường header 16

3.2 Message body 16

III.Cấu trúc bản tin SIP 16

IV Kiến trúc chức năng SIP 19

C.HOẠT ĐỘNG CỦA GIAO THỨC SIP 21

I Thủ tục thông tin SIP 21

1.Quá trình định vị máy chủ SIP 21

2.Giao dịch SIP 22

3.Lời mời SIP 22

4.Định vị người dùng 23

1

Trang 2

5.Thay đổi 1 phiên hiện tại 23

II Một số giao thức mà SIP có thể hoạt động cùng 23

1.Giao thức SDP 23

2.Giao thức RSVP 25

3.RTSP (Real time streaming protocol) 25

4.RTP(Real time tranpsport protocol) 25

2

Trang 3

A.GIỚI THIỆU VỀ SIP

1. Quá trình hình thành và phát triể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 ( từ giữa đến cuối thập kỉ 90 ) SIP được phát triển bởi SIP Working Group trong IETF Phiên bản đầu tiên được ban hành vào tháng 3 năm 1999 trong tàiliệu RFC 2543 Sau đó, SIP trải qua nhiều thay đổi và cải tiến Phiên bản mới nhất hiện nay được ban hành trong IETF RFC 3261 RFC 3261 hoàn toàn tương thích ngược với RFC 2543, do đó các hệ thống thực thi theo RFC 2543 hoàn toàn có thể

sử dụng với các hệ thống theo RFC 3261

Một bản tin SIP có hai phần, phần mào đầu và phần thân Phần thân cho phép phục vụ các ứng dụng khác nhau một cách linh hoạt Ban đầu phần thân chỉ dùng để chuyển tải các tham số miêu tả phiên SDP như codec, địa chỉ IP đầu cuối, Phần thân được sử dụng để mở rộng các ứng dụng của khác nhau của SIP ví dụ như SIP-Tcho liên vận PSTN-SIP-PSTN hoặc MSCML (Media Server Control Markup

Language) cho dịch vụ hội nghị

Sự phổ cập của SIP đã dẫn tới việc một loạt nhóm làm việc liên quan đến SIP được thành lập Nhóm SIPPING (Session Initiation Protocol investigation working group) được thành lập với mục đích nghiên cứu các ứng dụng và phát triển các yêu cầu mở rộng cho SIP Nhóm SIMPLE (SIP for Instant Messaging and Presence Leveraging Extensions) có nhiệm vụ chuẩn hoá các giao thức cho các ứng dụng nhắntin tức thời Các nhóm làm việc khác là PINT (PSTN and Internet,internet working),

SPIRITS (PSTN/IN requesting Internet Services)

2.Tổng quan về SIP

Theo định nghĩa của IETF, “Giao thức khởi tạo phiên” SIP (Session InitiationProtocol) là “giao thức báo hiệu lớp ứng dụng mô tả việc khởi tạo, thay đổi và giải phóng các phiên kết nối tương tác đa phương tiện giữa những người sử dụng” SIP dựa trên ý tưởng và cấu trúc của HTTP (HyperText Transfer Protocol) là giao thức trao đổi thông tin của World Wide Web SIP được định nghĩa như một giao thức chủ/tớ (Client/Server), trong đó các yêu cầu được chủ gọi (Client) đưa ra và bên bị gọi (Server) trả lời SIP sử dụng một số kiểu bản tin và các trường mào đầu của HTTP, xác định nội dung luồng thông tin theo mào đầu thực thể (mô tả nội dung - kiểu loại) và cho phép xác nhận các phương pháp sử dụng giống nhau được sử dụng trên Web

 Các phiên truyền thông mà có giao thức SIP thiết lập bao gồm :

+ Hội họp đa phương tiện qua internet

+ Các cuộc gọi điện thoại qua internet

+ Các phiên video qua internet

Trang 4

SIP sử dụng các bản tin mời ( INVITE ) để thiết lập các phiên và để mang các thông tin

mô tả phiên truyền dẫn SIP hỗ trợ các phiên đơn bá ( unicast ) và quảng bá ( multicast )tương ứng các cuộc gọi điểm tới điểm và cuộc gọi đa điểm SIP định nghĩa các bản tin INVITE và ACK giống như bản tin Setup và Connect trong H.225, trong đó cả hai đều định nghĩa quá trình mở một kênh đáng tin cậy mà thông qua đó cuộc gọi có thể đi qua Tuy nhiên khác với H.225, độ tin cậy của kênh này không phụ thuộc vào TCP mà có thểtích hợp vào lớp ứng dụng nhằm nâng cao khả năng tối ưu hóa

 Các phần tử của SIP có thể liên lạc thông qua :

+ Liên lạc cá nhân

+ Phát quảng bá

+Thông qua tổ hợp của các quan hệ liên lạc cá nhân hoặc một tổ hợp

của tất cả những phương tiên trên

 Trong các môi trường IPv4 và IPv6 thông qua :

 Các khả năng người dùng (User capabilities): xác định phương tiện và các

thông số phương tiện được sử dụng.(ví dụ : đường truyền ta chọn là đường

truyền vô tuyến và xác định các bộ tham số liên quan đến đường truyền đó để

Trang 5

 Thiết lập cuộc gọi (Call setup): thiết lập các thông số của cuộc gọi tại cả hai

phía bị gọi và chủ gọi.(do năng lực của đầu cuối có thể khác

nhau nên cần thiết lập thông số trước – có thỏa thuận)

 Xử lý cuộc gọi (Call handling): bao gồm truyền tải và kết thúc cuộc gọi

B.KIẾN TRÚC VÀ CHỨC NĂNG CỦA SIP

I Các Thành phần mạng báo hiệu của SIP

Các thành phần chính của một hệ thống SIP bao gồm các thành phần sau: Đầu cuối SIP(UAC/UAS); Proxy server; Location server; Redirect server; Registrar server

 User Agent : gửi và nhận các yêu cầu và trả lời của SIP , nó là điểm cuối của

luồng đa phương tiện và nó luôn là Người dùng Equiment ( UE ) – bao gồm ứng dụng trong thiết bị đầu cuối hoặc ứng dụng phần cứng chuyên dụng UA gồm haiphần :

+ Người dùng Agent Client ( UAC ) : ứng dụng của người gọi –khởi tạo request

+ Người dùng Agent Server ( UAS ) : chấp nhận , gửi lại , từ chối request vàgửi trả lời cho request đến thay mặt cho người sử dụng

Trang 6

+ User Agent là thực thể SIP mà tương tác với với người sử dụng Nóthường xuyên sử dụng giao diện với người sử dụng.

Các thành phần còn lại có thể gọi là SIP server :

Proxy Server : là phần mềm trung gian hoạt động cả như Server và cả như

Client để thực hiện các yêu cầu thay thế cho các đầu cuối khác Tất cả các yêu cầu được xử lý tại chỗ bởi Proxy Server (nếu có thể) hoặc nó chuyển đến cho các máy chủ khác Trong trường hợp Proxy Server không trực tiếp đáp ứng các yêu cầu này thì Proxy Server sẽ thực hiện khâu chuyển đổi hoặc dịch sang khuôn dạng thích hợp trước khi chuyển đi Chuẩn về SIP cho phép các Proxy thực hiện các hoạt động chẳng hạn như xác định tính hợp lệ của bản tin, xác thực người sử dụng, phânnhánh các request, phân giải địa chỉ, hủy bỏ các cuộc gọi đang chờ Sự linh hoạt của các proxy SIP cho phép các nhà khai thác và quản trị mạng sử dụng các proxy cho các mục đích khác nhau và trong các vị trí khác nhau trong mạng (chẳng hạn như Proxy biên, Proxy lõi, và Proxy của các doanh nghiệp)

+ Forking proxy: SIP proxy server định tuyến thông điệp đến nhiều hơn một đích được gọi là proxy phân nhánh Forking Proxy có thể định tuyến thông điệp song song hoặc theo thứ tự Ví dụ của Forking Proxy song song là việc báo hiệu đồng thời của tất cả các điện thoại trong nhà Forking Proxy theo thứ tự chứa proxythử báo hiệu lần lượt các vị trí khác nhau, có thể rung chuông trong một chu kỳ thời gian nhất định nếu người dùng không nhấc máy thì thử User Agent mới

Trang 7

 Redirect Server: là phần mềm nhận yêu cầu SIP và chuyển đổi địa chỉ SIP sang

một số địa chỉ khác và gửi lại những địa chỉ này cho đầu cuối

( Truy nhập dữ liệu và dịch vụ định vị để tìm địa chỉ của user và gửi trả về bản tinlớp 300 để thông báo thiết bị chuyển hướng bản tin tới địa chỉ khác – tự liên lạc thông qua địa chỉ trả về)

+ Không bao giờ hoạt động như một đầu cuối.( không gửi đi bất cứ một yêu cầu nào)

+ Không thực hiện việc chấp nhận hay huỷ cuộc gọi

Location Sever: là phần mềm định vị thuê bao, cung cấp thông tin về những vịtrícó thể của phía bị gọi cho các phần mềm Proxy Server và Redirect Server

 Registrar Sever: là sever 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 Sever

+ Trong nhiều trường hợp Registrar Server đảm nhiệm luôn một số chức năng

an ninh như xác nhận người sử dụng

+ Cung cấp dịch vụ định vị thuê bao

+ Mỗi lần đầu cuối được bật lên (ví dụ máy điện thoại hoặc phần mềm SIP)thì đầu cuối lại đăng ký với Server nếu đầu cuối cần thông báo với Server về địađiểm của mình thì bản tin Register được gửi đi Nói chung các đầu cuối đều thựchiện việc đăng ký lại một cách định kỳ

II Bản tin Sip

1. Các bản tin SIP mào đầu và đánh số :

Dưới đây là các bản tin của SIP :

Trang 8

INVITE : bắt đầu thiết lập cuộc gọi bằng cách gửi bản tin mời đầu cuối khác tham gia ACK : bản tin này khẳng định máy trạm đã nhận được bản tin trả lời bản tin INVITE BYE : bắt đầu kết thúc cuộc gọi

CANCEL : hủy yêu cầu nằm trong hàng đợi

REGISTER : đầu cuối SIP sử dụng bản tin này để đăng ký với máy chủ đăng ký OPTION : sử dụng để xác định năng lực của máy chủ

INFO : sử dụng để tải các thông tin như âm báo DTMF

Những bản tin trao đổi giữa A và B để thiết lập một phiên :

Trang 9

2. Khuôn dạng thông điệp:

Thông điệp SIP gồm 3 phần: start line, header của thông điệp và body

Client gửi yêu cầu (request) và server trả lời bằng response Giao dịch SIP bao gồm yêu cầu từ client, 0 hoặc nhiều provisional response và final response từ server

2.1

SIP response

Status line là dòng bắt đầu của response

Các bản tin đáp ứng được chia thành thành hai nhóm bao gồm 6 loại bản tin, mỗi bản dùng một mã trạng thái nằm trong một dải mã

Khuôn dạng thông điệp SIP

SIP version Status code Reason Phrase

Cấu trúc Response Line

SIP response

Trang 10

Provisional (1xx): Bản tin này dùng để chỉ thị tiến trình nhưng không kết thúc

giao dịch SIP (tìm kiếm, rung chuông, xếp hàng)

Final (2xx, 3xx, 4xx, 5xx, 6xx): Bản tin này chỉ thị kết thúc giao dịch SIP.

1xx: Provisional – đã nhận yêu cầu và đang tiếp tục xử lý yêu cầu Tìm kiếm,

rung chuông, xếp hàng đợi, nó được phát khi quá trình xử lý chưa thể kết thúc ngayđược Phía phát cần phải dừ ng quá trình truyền các yêu cầu khi

nhân

đươ

c bản tin này

nhận)

2xx: Success – Các yầu đã được xử lý thành công (nhận, hiểu và đã được tiếp

3xx: Redirection – Cần tiến hành thêm các hoạt động để có thể đáp ứng được các

yêu cầu Chúng đươc gử i bở i các Redirect Server

4xx: Client Error – Lỗi do phía Client, các yêu cầu sai cú pháp hoặc không đáp

ứng đúng yêu cầu của Server

5xx: Server Error – Lỗi phía Server, server bị sự cố và không đáp ứng được các

yêu cầu hợp lệ

6xx: Global Failure – Lỗi tổng thể, các yêu cầu không thể được đáp ứng tại bất kỳ

server nào

cụ thể :

1xx: Phản hồi thông tin :

100: đang thử : máy đựợc gọi đã tiếp nhận được yêu cầu bên gọi và gửi bản tin này mang tính chất phản hồi để thử

180: đổ chuông : Máy được gọi đổ chuông, và gửi bản tin chuông về cho bêngọi

181: cuộc gọi đang chuyển hướng: May được gọi lập trình chuyển hướng đếnmột máy khác trong khi nó đang bận hoặc không xử lý cuộc gọi của bên gọi

182 : đang xếp hàng đợi : chờ đợi vì có nhiều yêu cầu đến cùng lúc

Trang 11

183: Phiên đang tiến hành: Có phiên cuộc gọi khác đang đựơc tiến hành với máy đựợc gọi

301: đã dời đi vĩnh viễn

302: tạm thời dời đi 305:

dùng proxy

380: dịch vụ thay thế

4xx: Yêu câu thất bại

400: yêu cầu sai

401: không được quyền: chỉ dùng với cơ quan đăng kiểm , các proxy phải dùng yêu cầu cấp phép cho proxy 407

402: yêu cầu trả tiền :Dự trữ để phòng trong tương lai

Trang 12

410: đã không còn , người dùng đã từng tồn tại nhưng bây giờ không còn được sử dụng nữa:"Thuê bao quý khách vừa gọi hiện đang tạm khóa, mong quý kháchvui lòng gọi lại sau"

413: Đơn vị yêu cầu quá lớn: "cuộc gọi không thể thực hiện được"

414: URI của yêu cầu quá tải :"mạng quá tải"

415: kiểu phương tiện không được hỗ trợ: ví dụ : tin nhắn đa phương tiện không thể gửi đến và nhận từ một số máy di động không hỗ trơn GPRS

416: giản đồ URI không được hỗ trợ

420: phần mở rộng không đúng: Sử dụng phần mở rộng của giao thức SIP khôngđúng nên máy chủ không hiểu được

421: Yêu cầu có phần mở rộng

423: Quãng quá ngắn

480: tạm thời không hoạt động

481: cuộc gọi/giao dịch không tồn tại

482: phát hiện thấy lặp

483: quá nhiều chặng trung tuyến

484:địa chỉ không hoàn chỉnh 485:

Trang 13

491: yêu cầu đang chờ

493: không thể giải mã được : Không thể giải mã phần thân của S/MIME

5xx: Lỗi máy chủ

500: lỗi bên trong máy chủ

501: chưa khai báo: Phương thức yêu cầu SIP này chưa đựơc khai báo ở đây502: gateway sai

Request line là dòng đầu tiên của request Tên giao thức chỉ ra mục đích của request

và request-URI chứa đích của request

3. Các phương thức SIP

Các phương thức SIP có thể xem như là các kiểu thông điệp Chúng xác định yêu cầuđang được tạo bởi thiết bị của người dùng (hoặc thực thể mạng trong một số trườnghợp)

Các phương thức SIP cơ bản hiện tại được định nghĩa để sử dụng trong IMS: ACK,BYE, CANCEL, INVITE, REGISTER, UPDATE

Trang 14

Các trường header

- Khuôn dạng của các trường header:

- Tên của trường header: giá trị của trường header

- Có các trường header bắt buộc và tùy chọn trong mỗi thông điệp

-Có 6 trường header có tính bắt buộc trong mỗi SIP thông điệp: To, From,Cseq, Call-ID, Max- Forward, Via

3.2

Message Body

Message Body được tách khỏi trường header bởi dòng trống

Thông điệp SIP có thể mang bất kỳ kiểu nào của body, kể cả body nhiều phần sửdụng mã hóa MIME (Multipurpose Internet Mail Extension )

SIP sử dụng MIME để mã hóa body của nó Do đó, body của SIP được mô tảgiống như phần đính kèm vào email

Đặc tính quan trọng của body là chúng truyền từ đầu cuối đến đầu cuối Proxykhông cần phân tích cú pháp của thông điệp body để định tuyến thông điệp Thực tế,

UA có thể lựa chọn để mã hóa nội dung của thông điệp body end to end Trongtrường hợp này, proxy sẽ không thể biết kiểu phiên nào đang được thiết lập giữa haiUA

III Cấu trúc bản tin SIP

Cả hai loại bản tin trên đều sử dụng chung một định dạng cơ bản được quy định trong

RFC 2822 với cấu trúc gồm một dòng khởi đầu (start – line), một số trường tiêu đề

16

Trang 15

và một phần thân bản tin tuỳ chọn

- Dòng bắt đầu, các dòng tiêu đề hay các dòng trắng phải được kết thúc bằng một ký

tự xuống dòng (CRLF)

- Dòng trắng vẫn phải có để ngăn cách phần tiêu đề và phần thân của bản tin ngay cảkhi phần thân bản tin là rỗng

Start line: Mỗi bản tin SIP được bắt đầu với một Start Line, Start Line vận chuyển

loại bản tin (phương thức trong các Request, và mã đáp ứng trong các bản tin đáp ứng) và phiên bản của giao thức

Start line có thể là Request-Line (trong các yêu cầu) hoặc là Status-Line (trong cácđáp ứng)

Headers: Các trường Hearder của SIP được sử dụng để vận chuyển các thuộc tính

của bản tin và để thay đổi ý nghĩa của bản tin Chúng tương tự như các trường tiêu 63

để của bản tin HTTP theo cả cú pháp và ngữ nghĩa

Tiêu đề bản tin bao gồm bốn loại:

17

Trang 16

-Thân bản tin được sử dụng để mô tả phiên được khởi tạo

- Nó có thể được sử dụng để mang dữ liệu dưới dạng text hoặc nhị phân (không đượcdịch) mà liên quan đến phiên đó

- Phần thân bản tin có thể xuất hiện trong cả bản tin yêu cầu và đáp ứng Các loạiBody bao gồm:

+ giao thức mô tả phiên SDP,

+ mở rộng thư điện tử internet đa mục đích MIME (Multipurpose Internet MailExtentions)

+ Các phần định nghĩa trong IETF

-SDP là một giao thức lớp ứng dụng được IETF thiết kế để mô tả các phiên đa

phương tiện và là giao thức dựa trên văn bản

=> thông thường SDP được chứa trong phần tải tin của các giao thức khác Chẳng hạn phần tải tin trong bản tin INVITE có thể chứa SDP nếu có chỉ thị về nó trong tiêu

đề content-type và content-application

Một bản tin SDP bao gồm các mức thông tin sau:

- Mô tả mức phiên Mức này bao gồm nhận dạng phiên và các thông số mức

Ngày đăng: 11/01/2022, 20:31

TỪ KHÓA LIÊN QUAN

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

w