GIAO THỨC KHỞI TẠO PHIÊN SIP

Một phần của tài liệu Giáo trình Lý thuyết báo hiệu (Trang 47)

4.1.1.Các đặc điểm và chức năng của SIP 4.1.1.1.Các đặc điểm

Theo định nghĩa của IETF, “Giao thức khởi tạo phiên” SIP (Session Initiation Protocol) 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 có

thể sử dụng cho rất nhiều dịch vụ khác nhau trong mạng IP như dịch vụ thông điệp

thoại, hội nghị thoại, E-mail, dạy học từ xa, quảng bá (MPEG, MP3...), truy nhập

HTML, XML, hội nghị video...

SIP dựa trên ý tưởng và cấu trúc của HTTP (HyperText Transfer Protocol) - giao

thức trao đổi thông tin của World Wide Web. Nó được định nghĩa như một giao thức

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. Kinh nghiệm

trong sử dụng các giao thức Internet mail (SMTP)đã cung cấp rất nhiều cho việc phát

triển SIP, trongđó tập trung vào khả năng thíchứng của báo hiệu trong tương lai.

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. Việc tích hợp độ tin cậy vào lớp ứng dụng này cho phép kết hợp một cách chặt chẽ các giá trị điều chỉnh để ứng dụng, có thể tối ưu hoá VoIP.

Cuối cùng, SIP dựa vào giao thức mô tả phiên SDP, một tiêu chuẩn khác của

IETF,để thực hiện sự sắp xếp tương tự theo cơ cấu chuyển đổi dung lượng của H.245.

SDP được dùng để nhận dạng mã tổng đài trong những cuộc gọi sử dụng một mô tả

nguyên bản đơn. SDP cũng được sử dụng để chuyển các phần tử thông tin của giao

thức báo hiệu thời gian thực RTSP để sắp xếp các tham số hội nghị đa điểm và định

nghĩa khuôn dạng chung cho nhiều loại thông tin khi được chuyển trong SIP.

Giao thức SIP được thiết kế với những tiêu chí hỗ trợ tối đa cho các giao thức

tổ chức IETF, nó có khả năng mở rộng,hỗ trợ đầu cuối và với SIP thì việc cung cấp

dịch vụ mới trở nên dễ dàng và nhanh chóng khi triển khai. SIP có 5 tính năng sau:  Tích hợp 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ụ và dịch vụ mới.

 Khả năng liên kết hoạt động với mạng điện thoại hiện tại.

4.1.1.2. Các chức năng

SIP là một giao thức điều khiển lớp ứng dụng mà nó có thể thiết lập, sửa đổi và kết thúc các phiên truyền thôngđa phương tiện (các hội nghị) hay các cuộc gọi điện

thoại qua Internet. SIP có thể mời các thành viên tham gia vào các phiên truyền thông

đơn hướng hoặc đa hướng; bên khởi tạo phiên không nhất thiết phải là thành viên của

phiênđó. Phương tiện và các thành viên có thể được bổ sung vào một phiên đang tồn tại. (adsbygoogle = window.adsbygoogle || []).push({});

SIP hỗ trợ việc ánh xạ tên và các dịch vụ chuyển tiếp một cách trong suốt, vì thế

nó cho phép thực hiện các dịch vụ thuê baođiện thoại của mạng thông minh và mạng

ISDN. Những tiện ích này cũng cho phép thực hiện các dịch vụ của các thuê bao di

động.

SIP hỗ trợ 5 khía cạnh của việc thiết lập và kết thúc các truyền thôngđa phương tiện sau:

 Định vị người dùng (User location): xácđịnh hệ thống đầu cuối được sử dụng

trong truyền thông.

 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.

 Tính khả dụng người dùng (User Availability): xác định sự sẵn sàng của bên

được gọi để tiến hành truyền thông.

 Thiết lập cuộc gọi (Call setup): “đổ chuông”, 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.

 Xử lý cuộc gọi (Call handling): bao gồm chuyển tải và kết thúc cuộc gọi.

4.1.2. Các khái niệm và các thành phần của hệ thống SIP4.1.2.1. Các khái niệm 4.1.2.1. Các khái niệm

Phần nàyđưa ra một số thuật ngữ liên quanđến các quy tắcđược sử dụng bởi các thành viên trong các truyền thông SIP:

Call: Một cuộc gọi bao gồm tất cả các thành viên sử dụng một tài nguyên chung trong một hội nghị. Một cuộc gọi SIPđược nhận dạng bởi một nhận dạng cuộc gọi (call

– ID) duy nhất. Dođó, một ví dụ là nếu một người sử dụng được mời vào phiên truyền thôngđa hướng bởi đồng thời một vài người, thì mỗi một lời mời này sẽ là một cuộc gọi duy nhất.

Call leg: Một call legđược nhận dạng bằng sự kết hợp của trường mào đầu Call– ID vàđịa chỉ xácđịnh, thẻ của các trường màođầu “To” và “From”.

Client: là một chương trình ứng dụng gửi các yêu cầu SIP. Các Client có thể hoặc

không thể tương tác một cách trực tiếp với một người sử dụng. Các User agent (UA) và các Proxy chứa các client (và các Server).

Conference (hội nghị): là một phiên truyền thôngđa phương tiện được nhận biết bởi

một sự mô tả phiên chung. Một hội nghị có thể không có hoặc có nhiều thành viên và bao gồm những trường hợp của một hội nghị đa phương, hội nghị nhiều

mắt lưới (full – mesh) và một “cuộc gọi điện thoại” hai bên, cũng như các hỗn

hợp của các trường hợp này. Bao nhiêu cuộc gọi cũng có thể được sử dụng để tạo

ra một hội nghị.

Downstream (luồng xuống): gồm các yêu cầu được gửi trực tiếp từ phía chủ gọi đến phía bị gọi (nghĩa là từ UA Clientđến UA Server).

Final response (phúc đáp cuối cùng): là một phúc đáp kết thúc một phiên giao dịch

SIP, trái lại một phúc đáp tạm thời không kết thúc một phiên giao dịch SIP. Tất

cả các phúcđáp: 2xx, 3xx, 4xx, 5xx và 6xxđều là các phúcđáp cuối cùng.

Initiator, calling party, caller (Bên khởi tạo, bên đang gọi, người gọi): Là bên khởi (adsbygoogle = window.adsbygoogle || []).push({});

tạo một lời mời phiên. Chú ý rằng bênđang gọi không phải là bên tạo ra hội nghị.

Invitation (lời mời): Là một yêu cầu được gửi đến một người sử dụng (hay một dịch

vụ)để yêu cầu tham gia vào một phiên. Một lời mời SIP thành công gồm 2 giao dịch: một yêu cầu INVITEđược theo sau bởi một yêu cầu ACK.

Invitee, invited user, called party, callee (bênđược mời, người bị gọi): Là người hay dịch vụ mà bênđang gọi đang mời tham gia vào một hội nghị.

Yêu cầu hay phúcđápđồng hình: Hai yêu cầu hoặc hai phúcđápđược định nghĩa là

đồng hình theo các ý đồ của tài liệu này nếu chúng có cùng các giá trị trong các trường mào đầu của Call – ID, To, From và Cseq. Thêm vào đó, các yêu cầu

đồnghình phải có cùng Request–URI và cùng thông số nhánh trong trường mào

đầu Via của chúng.

Location server (máy chủ định vị): chi tiết ởphần dịch vụ định vị.

Location service (dịch vụ định vị): Một dịch vụ định vị được sử dụng bởi một SIP redirect hay proxy serverđể cóđược thông tin về các vị trí có thể có của người bị

gọi. Các ví dụ về các tài nguyên của thông tin định vị gồm cácđăng ký SIP, các cơ sở dữ liệu hay các giao thức đăng ký diđộng. Các dịch vụ định vị được đưa ra bởi các máy chủ định vị. Các máy chủ định vị có thể là một phần của một máy chủ SIP, nhưng cách thức mà một máy chủ SIP yêu cầu các dịch vụ định vị nằm

ngoài phạm vi của tài liệu này.

Outbound proxy: Là một proxy nằm gần nơi tạo ra các yêu cầu. Nó nhận tất cả các yêu cầu đi ra từ một UAC cụ thể, các Request –URL của các yêu cầu này nhận

dạng một host không phải là outbound proxy. Sau bất kỳ một xử lý cục bộ nào, outbound proxy sẽ gửi những yêu cầu này đến các địa chỉ được chỉ ra trong Request – URL. (Tất cả các proxy server khác đều được xem xét một cáchđơn giản như là các proxy, chứ không phải là các inbound proxy).

Parallel search (tìm kiếm song song): Trong một tìm kiếm song song, một proxyđưa ra một vài yêu cầu đến các vị trí có thể có của người sử dụng trong khi nhận một

yêu cầu đầu vào. Hơn làđưa ra một yêu cầu và sauđó đợi chođến khi nhận được

phúcđáp cuối cùng trước khiđưa ra một yêu cầu kế tiếp như trong một tìm kiếm tuần tự, một tìm kiếm song song đưa ra các yêu cầu mà không cần đợi kết quả

của các yêu cầu trước đó.

Provisional response (phúc đáp tạm thời): Là một phúc đáp được sử dụng bởi máy chủ để chỉ thị tiến trình nhưng nó không kết thúc một giao dịch SIP. Phúc đáp

1xx là phúcđáp tạm thời, các phúcđáp khác là các phúcđáp cuối cùng.

Proxy, proxy server: Là một chương trình trung gian hoạt động cả như là một máy chủ và một máy khách cho mục đích tạo ra các yêu cầu với tư cách của các máy khách khác. Các yêu cầuđược cung cấp một cách nội bộ hoặc đưa chúng qua các máy chủ khác sau những biên dịch cần thiết. Một proxy biên dịch và nếu cần thiết

nó ghi lại một bản tin yêu cầu trước khi chuyển tiếp bản tinđó. Ví dụ, các proxy server được sử dụng để định tuyến các yêu cầu, thực thi các chính sách, điều

khiển các tường lửa.

Redirect server: Một redirect server là một máy chủ mà nó nhận một yêu cầu SIP, ánh xạ địa chỉ hiện có thành một số địa chỉ mới và gửi trả lại cácđịa chỉ này cho máy khách. Không giống như một proxy server, nó không khai báo yêu cầu SIP

của bản thân nó. Không giống như một UA Server, nó không chấp nhận các cuộc

gọi.

Registrar (trạm đăng ký): Một trạm đăng ký là một máy chủ mà nó nhận các yêu cầu

REGISTER. Một trạm đăng ký được định vị chung với một proxy hoặc redirect server và có thể tạo ra sẵn sàng thông tin của nó thông qua máy chủ định vị

(location server).

Ringback (hồi âm chuông): Hồi âm chuông là chuông báo hiệu được tạo ra bởi ứng (adsbygoogle = window.adsbygoogle || []).push({});

dụng của máy khách phía gọi để chỉ ra rằng bên bị gọi đang được thông báo (đổ

chuông).

Server (máy chủ): Một máy chủ là một chương trình ứng dụng mà nó nhận các yêu cầu để xử lý và gửi trả lại cácđáp ứng cho những yêu cầu đó. Các máy chủ là các proxy, redirect, UAS hoặc registrar.

Session (phiên): Từ định nghĩa SDP: “Một phiên truyền thôngđa phương tiện là một

tập các phía gửi và nhận đa phương tiện và các luồng dữ liệu từ phía gửi đến phía nhận. Một hội nghị đa phương tiện là một ví dụ của một phiên truyền thông đa phương tiện.” Như được định nghĩa, một bên bị gọi có thể được mời tham gia cùng 1 phiên một vài lần bởi các cuộc gọi khác nhau. Nếu SDP được sử dụng, mộtphiênđược định nghĩa bằng sự ghép nối của các phần tử:tên người dùng, ID của phiên, kiểu mạng, kiểu địa chỉđịa chỉ trong các trường gốc.

(SIP) transaction (giao dịch SIP): Một giao dịch SIP xuất hiện giữa một máy khách và một máy chủ và bao gồm tất cả các bản tin từ yêu cầu đầu tiên được gửi từ

máy khách đến máy chủ cho đến phúc đáp cuối cùng được gửi từ máy chủ về

máy khách. Một giao dịch được nhận biết bởi chuỗi số Cseq trong một call leg

đơn lẻ. Yêu cầu ACK có cùng chuỗi số Cseq với yêu cầu INVITE tương ứng, nhưng bao gồm một giao dịch của riêng nó.

Stateless Proxy (proxy phi trạng thái): Là một thực thể logic mà nó không duy trì trạng thái của một phiên giao dịch SIP. Một proxy phi trạng thái chuyển tiếp tất

cả các yêu cầu nó nhận ở đường xuống và tất cả các phúc đáp nó nhận ở đường

lên.

Stateful Proxy (proxy trạng thái): Là một thực thể logic duy trì thông tin trạng thái củaít nhất một giao dịch SIP.

Upstream (đường lên): Các phúc đáp được gửi trực tiếp từ máy chủ UA đến máy khách UA.

User agent client (UAC): Một UAC là một ứng dụng khách khởi đầu một yêu cầu SIP

User agent server (UAS): Một UAS là một ứng dụng chủ mà nó giao tiếp với người

sử dụng khi một yêu cầu SIPđược nhận và nó gửi trả lại một phúcđáp cho người

sử dụng đó. Phúcđápđó chấp nhận, từ chối hoặc chuyển tiếp yêu cầu đó.

User agent (UA): Một ứng dụng hoạt động cả như UAC và UAS.

Các Proxy, Redirect, Location và Registrar Serverđược định nghĩa ở trên là các thựcthể logic; các sự thực thi có thể kết hợp chúng thành một chương trìnhứng dụng đơn nhất. Các thuộc tính của các kiểu máy chủ SIP khác nhau được cho trong bảng 4.1.

Bảng 4.1. Các thuộc tính của các kiểu máy chủ SIP khác nhau

4.1.2.2. Các thành phần của hệ thống SIP

Xét trên quanđiểm Client / Server, các thành phần chính của một hệ thống SIP

bao gồm (Hình 4.1):

 Đầu cuối SIP (UAC/UAS).  Proxy server.

 Location server.  Redirect server.  Registrar server.

Hình 4.1. Cấu trúc của hệ thống SIP

User Agent là thiết bị đầu cuối trong mạng SIP, nó có thể là một máy điện thoại

SIP hay một máy tính chạy phần mềm đầu cuối SIP. UA có thể khởi tạo, thay đổi hay

giải phóng cuộc gọi. Trong đó phân biệt hai loại UA: UAC (User Agent Client) và UAS (User Agent Server). UAC là một thực thể thực hiện việc khởi tạo một cuộc gọi (adsbygoogle = window.adsbygoogle || []).push({});

còn UAS là một thực thể thực hiện việc nhận cuộc gọi. Nhưng cả UAC và UASđều có

thể giải phóng cuộc gọi.

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.

Location Server 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.

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. Không giống như Proxy Server, Redirect Server không bao giờ hoạt động như một đầu cuối, tức là không gửi đi bất cứ một yêu cầu nào. Redirect Server cũng không thực hiện việc chấp nhận hay

huỷ cuộc gọi.

Registrar Server là phần mềm nhận các yêu cầu đăng ký Register. 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. Thông thường Registrar Server được cài đặt cùng với Proxy hoặc

lên (thí 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ực hiện việc đăng ký lại một cách định kỳ.

4.1.3. Khái quát về hoạt động của SIP

Trong hội thoại SIP, mỗi bên tham gia (bên chủ gọi và bên bị gọi) được gắn một địa chỉ SIP hay còn gọi là SIP URL. Người sử dụng phải đăng ký vị trí của họ với SIP

Server. Để tạo một cuộc gọi SIP, phía chủ gọi định vị tới máy phục vụ thích ứng và sauđó gửi một yêu cầu SIP. Hoạt động SIP thường xuyên nhất là lời mời các thành viên tham gia hội thoại. Thành phần Register đóng vai trò tiếp nhận các yêu cầu đăng ký từ UA và lưu trữ các thông tin này tại một dịch vụ phi SIP (Non-SIP).

4.1.3.1. Địa chỉ SIP

Các đối tượng được đánh địa chỉ bởi SIP là các người sử dụng tại các trạm,

Một phần của tài liệu Giáo trình Lý thuyết báo hiệu (Trang 47)