Giao thức điều khiển phiờn SIP

Một phần của tài liệu Nghiên cứu kiến trúc và dịch vụ IMS trong các mạng thế hệ mới (Trang 36 - 48)

Cỏc giao thức điều khiển cuộc đúng vai trũ chỡa khúa trong bất kỡ một hệ thống điện thoại nào. Trong mạng chuyển mạch kờnh, cỏc giao thức điều khiển cuộc gọi quan trọng nhất là TUP (Telephony User Part, ITU-T khuyến nghị Q.721), ISUP (ISDN User Part, ITU-T, khuyến nghị Q.761) và BICC (Bearer Independent Call Control, ITU-T khuyến nghị Q.1901).

SIP đó được chọn là giao thức điều khiển phiờn cho IMS trong nhiều giao thức điều khiển phiờn phiờn dựa trờn IP khỏc như BICC và H323. SIP

được IETF chuẩn húa trong RFC 3261 (Request for Command).

2.2.1.1 Khỏi niệm giao thức SIP

Theo định nghĩa của IETF thỡ SIP (Session Initiation Protocol) là giao thức điều khiển ở lớp ứng dụng được sử dụng để thiết lập, thay đổi, quản lý và kết thỳc cỏc phiờn multimedia (thoại, hỡnh ảnh, tin nhắn) của một hay nhiều bờn tham gia trong mạng IP mà khụng phụ thuộc vào giao thức lớp truyền tải bờn dưới.

SIP được xõy dựng dựa trờn ý tưởng và cấu trỳc của cỏc giao thức Internet như HTTP (giao thức trao đổi thụng tin của www). SIP xõy dựng dựa trờn mối liờn hệ Client- Server trong đú bờn gọi (client) đưa ra cỏc yờu cầu và bờn bị gọi (server) trả lời. SIP là một giao thức dưới dạng văn bản do đú nú dễ

dàng mở rộng, gỡ rối và phỏt triển cỏc dịch vụ.

2.2.1.2 Cỏc chức năng và đặc điểm của SIP

SIP hỗ trợ năm vấn đề về thiết lập và giải phúng cỏc giao tiếp đa phương tiện:

Định vị đầu cuối (User Location): định rừ vị trớ của điểm kết cuối

đớch được sử dụng cho việc truyền tin, hỗ trợ cỏch giải quyết ỏnh xạ

tờn, và định tuyến lại cuộc gọi.

Xỏc định trạng thỏi đầu cuối (User availability): xỏc định tớnh sẵn sàng của phớa bị gọi tham gia vào truyền tin. Nếu một cuộc gọi khụng thể hoàn thành vỡ điểm đớch khụng khả dụng, SIP quyết định cú hay khụng cú bờn bị gọi. Sau đú nú gửi trả một bản tin chỉ thị tại sao điểm kết cuối đớch khụng khả dụng.

Xỏc định khả năng của đầu cuối (User capabilities): xỏc định phương tiện và cỏc tham số của nú sẽ được sử dụng, SIP biết được năng lực mụi trường của điểm kết cuối đớch – qua giao thức mụ tả phiờn (SDP: Session Description Protocol), SIP quyết định mức thấp nhất của dịch vụ giữa cỏc điểm kết cuối. Hội nghị được thiết lập chỉ khi năng lực mụi trường là cú thể hỗ trợ cho tất cả cỏc điểm kết cuối.

Thiết lập phiờn (Session setup): thiết lập phiờn giữa điểm kết cuối nguồn và đớch, thiết lập cỏc tham số của phiờn tại cả chủ gọi và bị gọi

Quản lý phiờn (Session management): bao gồm việc điều khiển truyền và kết thỳc phiờn, thay đổi cỏc tham số của phiờn và cỏc yờu cầu về

dịch vụ.

Đặc điểm của SIP

Hỗ trợ cỏc giao thức Internet: TCP, UDP, DNS

Thuần kớ tự, đơn giản và cú khả năng mở rộng: SIP cú rất ớt bản tin, khụng cú cỏc chức năng thừa nhưng SIP cú thể sử dụng để thiết lập những phiờn kết nối phức tạp như hội nghị… . SIP đơn giản, gọn nhẹ, dựa trờn khuụn dạng text, SIP là giao thức ra đời sau và đó khắc phục

được điểm yếu của nhiều giao thức trước đõy. SIP cú thể mở rộng bằng cỏch thờm cỏc tiờu đề, tham số và cỏc phương thức. Khả năng mở rộng khụng chỉ về dịch vụ mà cũn cả về kớch thước mạng.

Hoạt động với sự kết hợp với cỏc giao thức khỏc (SDP, RTP/RTCP)

Dễ dàng tạo cỏc tớnh năng mới cho dịch vụ và cỏc 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. Interdomain Protocol for Gateway Route Exchange (TRIP), Call processing Language (CPL) và Common Gateway Interface(CGI) là một số cụng cụđể thực hiện điều này.

Hỗ trợ tớnh di dộng của đầu cuối: Do cú Location server và Registrar server và Redirect server hệ thống luụn nắm được địa điểm chớnh xỏc của thuờ bao. Một người dựng chỉ cần một địa chỉ SIP và cú thể thiết lập hoặc nhận cuộc gọi tại bất kỳ đõu trong mạng sau khi đó đăng ký một vị trớ mới.

Khả năng liờn kết hoạt động với mạng điện thoại hiện tại: Nhờ mở

rộng giao thức thờm cỏc tiờu đề, thờm cỏc method.

2.2.1.3 Cỏc thực thể SIP

Trong mạng SIP bao gồm cỏc thực thể SIP logic, mỗi một thực thể cú một chức năng riờng biệt và khi tham gia trong quỏ trỡnh truyền tin của SIP thỡ cú thể đúng vai trũ như một client (khởi tạo cỏc yờu cầu), hoặc như là một server (trả lời lại cỏc yờu cầu của client), hoặc thực hiện cả hai. Sau đõy chỳng ta sẽ xem xột cụ thể cỏc loại thực thể của SIP.

User Agent (UA)

Trong SIP một UA là một thực thể SIP endpoint. UA là nơi khởi tạo và kết thỳc cỏc phiờn bằng cỏch trao đổi cỏc yờu cầu và cỏc phỳc đỏp. UA là một

User Agent Client (UAC): là một ứng dụng client khởi tạo cỏc yờu cầu của SIP

User Agent Server (UAS): là một ứng dụng server trả lời cỏc yờu cầu của UAC

Back to back User Agent (B2BUA): là một thiết bị SIP mà khi nhận một bản tin SIP request sẽ tỏi tạo lại bản tin request đú và gửi đi như một bản tin request mới. Cỏc bản tin respone ứng với cỏc bản tin request đú cũng sẽ được tỏi tạo và gửi đi theo hướng ngược lại.

Một số thiết bị mà cú chức năng UA trong một mạng SIP là: Cỏc trạm làm việc, điện thoại IP, Gateway điện thoại, Call Agent và cỏc dịch vụ trả lời tựđộng.

SIP Server

SIP Server là cỏc thành phần mạng mà cho phộp cỏc SIP endpoint cú thể

trao đổi cỏc bản tin, đăng ký vị trớ người sử dụng, và cú thể di chuyển giữa cỏc mạng khỏc nhau. SIP server cho phộp cỏc nhà khai thỏc mạng cú thể cài

đặt cỏc chớnh sỏch định tuyến và bảo mật, nhận thực người sử dụng và quản lý cỏc vị trớ người sử dụng.

Cỏc ứng dụng SIP server cú thể cú nhiều dạng, nhưng chuẩn về SIP định nghĩa 3 loại Server là Proxy, Redirect, và Registrar Server.

Proxy Server (server đại diện): Chuẩn SIP định nghĩa cỏc Proxy Server như sau “cỏc thành phần mà định tuyến cỏc bản tin SIP request tới cỏc UAS và cỏc bản tin SIP response tới UAC. Mỗi SIP Proxy sẽ ra cỏc quyết

định định tuyến và thay đổi cỏc request trước khi chuyển tiếp nú tới thành phần tiếp theo. Cỏc Response sẽ định tuyến quay trở lại UAC đi qua cỏc Proxy mà Request đó đi qua theo chiều ngược lại”. Hỡnh 2.7 cho thấy thớ dụ

Cú thể xem cỏc Proxy Server như cỏc router SIP mà chuyển tiếp cỏc request và cỏc response. 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, nhận thực người sử

dụng, phõn nhỏnh cỏc request, phõn giải địa chỉ, hủy bỏ cỏc cuộc gọi đang chờ, Record-Route và Loose-Route, và phỏt hiện và điều khiển quay vũng của cỏc bản tin (loop). 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). Sự linh hoạt này cũng cho phộp tạo ra cỏc chớnh sỏch proxy khỏc nhau, chẳng hạn nhưđịnh tuyến cuộc gọi chỉ cho cỏc thuờ bao đó

được nhận thực mà khụng nợ nhà cung cấp dịch vụ mạng mà vận hành proxy

đú.

Proxy Server Caller@work.com

iMac

Yêu cầu (Request) User@work.com

Trả lời (Response)

User@home.net

iMac

Yêu cầu (Request) User@home.net Trả lời (Response) 1 2 4 3

Hỡnh 2.7: SIP Proxy Server

Một Proxy Server được thiết kế là trong suốt với cỏc UA. Cỏc Proxy Server được phộp thay đổi cỏc bản tin chỉ theo một số cỏch cụ thể và là hạn chế. Vớ dụ, một proxy khụng được phộp thay đổi phần thõn bản tin SDP của bản tin INVITE. Ngoại trừ một số ngoại lệ, cỏc proxy khụng thể tự tạo ra cỏc

bản tin Request. Do đú một Proxy khụng thể kết thỳc một cuộc gọi đang được thực hiện bằng cỏc phỏt một bản tin BYE request.

Redirect Server (Server chuyển hướng) : Là một Server nhận yờu cầu của SIP, chuyển địa chỉ nơi nhận thành 0 (nếu như khụng xỏc định được

địa chỉ), hoặc nhiều địa chỉ mới và gửi trả lại địa chỉ đó được chuyển đổi cho nơi khởi xướng yờu cầu. Sau đú nơi khởi xướng yờu cầu cú thể gửi cỏc yờu cầu đến cỏc địa chỉ nhận được từ Server chuyển hướng. Server chuyển hướng khụng tự mỡnh khởi xướng bất kỳ yờu cầu SIP nào. Hỡnh 2.8 cho thấy thớ dụ

về hoạt động của một Server chuyển hướng. Đõy cú thể là một phương tiện khỏc để cung cấp cỏc dịch vụ chuyển cuộc gọi/dẫn dắt cuộc gọi mà một proxy server cú thể cung cấp. Điểm khỏc là đối với server chuyển hướng, khỏch hàng (client) thực hiện chuyển cuộc gọi, server chuyển hướng chỉ đơn giản cung cấp thụng tin cho khỏch hàng khởi xướng để nú làm nhiệm vụ này, sau

đú server khụng tham gia trực tiếp vào cuộc gọi.

iMac

Redirect Server

iMac Yêu cầu (Request)

User@work.com Caller@work.com

Yêu cầu (Request) User@home.net Trả lời (Response) 1 2 3 4 5 User@home.net

Đã tạm thời chuyển (Moved temporarily) Tiếp xúc (Contact): User@home.net

Công nhận (ACK)

Hỡnh 2.8: SIP Redirect Server

Registrar Server (Server đăng ký): Chuẩn SIP định nghĩa Registrar Server là “một server mà tiếp nhận cỏc bản tin yờu cầu REGISTER và chuyển

thụng tin mà nú nhận được trong cỏc bản tin request tới dịch vụ vị trớ (location service) đối với domain mà nú quản lý”. Cỏc bản tin REGISTER được yờu cầu bởi cỏc client để thiết lập hay rời khỏi một mapping giữa cỏc địa chỉ SIP danh định của nú và cỏc địa chỉ mà chỳng mong muốn sẽ được liờn lạc. REGISTER cú thể được sử dụng để lấy ra tất cả cỏc mapping hiện tại được lưu trữ cho một địa chỉ cụ thể.

Registrar sẽ xử lý cỏc REGISTER cho một tập cỏc tờn miền cụ thể. Nú sử dụng một dịch vụ vị trớ “Location service” để lưu trữ và lấy ra cỏc thụng tin về vị trớ. Dịch cụ vớ trớ này cú thể chạy trờn một thiết bị ở xa và cú thể liờn kết được nhờ sử dụng một giao thức thớch hợp. Một số trường hợp người ta thực hiện “location service” và Registrar server trờn cựng một mỏy. Một Registrar server cú thể nhận thực cỏc request REGISTER và sử dụng response 401.

Thụng thường Registrar Server được cài đặt cựng với Proxy hoặc Redirect Server hoặc cung cấp dịch vụ định vị thuờ bao. Mỗi lần đầu cuối

được bật lờn thỡ đầu cuối lại đăng ký với server. Nếu đầu cuối cần thụng bỏo cho server vềđịa chỉ của mỡnh thỡ bản tin REGISTER cũng được gửi đi.

2.2.1.4 Địa chỉ SIP

Cỏc địa chỉ SIP được sử dụng để xỏc định một người dựng hay một tài nguyờn trong một domain mạng. Địa chỉ SIP thụng thường được gọi là SIP URI. SIP URI cú định dạng tương tự như địa chỉ email mà chỳng ta hay sử

dụng, cấu trỳc địa chỉ như sau: sip:user@domain:port sip:user@host:port

Trường user xỏc định tờn của một người dựng bằng tờn, vớ dụ như Alice, John hay bằng sốđiện thoại, vớ dụ như 4081234567, tiếp theo là nội dung của

một domain hay host. Trường port cú thể cú hoặc khụng (port mặc đinh nếu khụng chỉ ra trường này trong SIP URI sẽ là 5060)

2.2.1.5 Cỏc loại bản tin SIP

Bản tin SIP được mó húa dạng văn bản. Cỳ phỏp bản tin và trường tiờu

đề tương tự như HTTP nhưng khụng phải là mở rộng của HTTP. Cú hai loại bản tin là bản tin yờu cầu (Request) từ phớa client và bản tin đỏp ứng (Response) từ server.

Cỏc bản tin REQUEST

Cỏc bản tin Request được User Agent và SIP Server sử dụng đểđịnh vị, bắt đầu và quản lý cỏc cuộc gọi. Mỗi loại Request được gọi là một Method, cú 6 method cơ bản là: INVITE, ACK, CANCEL, BYE, OPTIONS, REGISTER và cỏc bản tin mở rộng.

Bảng 2.1: Cỏc bản tin yờu cầu của SIP

Bản tin Mụ tả

INVITE Khởi tạo cuộc gọi, thay đổi cỏc tham số của gọi trong trường hợp Re-INVITE

ACK Xỏc nhận response cuối cựng cho INVITE CANCEL Hủy bỏ trong quỏ trỡnh tỡm kiếm và rung chuụng BYE Kết thỳc cuộc gọi

OPTIONS Hỏi năng lực của User hay Server phớa cũn lại REGISTER Đăng ký với Registrar Server

Mở rộng

INFO Gửi một thụng tin giữa cuộc gọi mà nú khụng làm thay đổi trạng thỏi của phiờn (RFC 2976)

NOTIFY Dựng để vận chuyển trạng thỏi đó được cập nhật (RFC 3265)

hiện diện của bị gọi

UPDATE Cho phộp client cập nhật cỏc tham số của phiờn mà khụng ảnh hưởng tới trạng thỏi của cuộc hội thoại (RFC 3311)

MESSAGE Dựng để truyền cỏc bản tin nhắn giữa cỏc người sử

dụng gần theo thời gian thực (RFC 3428)

REFER Được sử dụng để yờu cầu người nhận REFER chuyển tới một tài nguyờn khỏc (nú được sử dụng trong chuyển tiếp cuộc gọi (RFC 3515)

PRACK Nú tương tự ACK nhưng sử dụng để đỏp lại cỏc

đỏp ứng tức thời

INVITE: Trong cỏc bản tin INVITE của SIP cú chứa cỏc thụng tin mụ tả phiờn truyền dẫn, bản tin này chỉ thị rằng người dựng hoặc dịch vụ được mời tham dự vào một phiờn. Nú bao gồm một mụ tả phiờn, và đối với cỏc cuộc gọi song cụng, bờn chủ gọi chỉ thị loại thụng tin (audio, video, data...). Đỏp ứng thành cụng cho bản tin INVITE song cụng (đỏp ứng 200 OK) chứa loại thụng tin của bờn bị gọi. Với phương thức đơn giản này, người dựng cú thể nhận biết được khả

năng ở đầu kia và bắt đầu một phiờn hội thoại với một số lượng hạn chế cỏc bản tin và cỏc round trip.

ACK: Những yờu cầu này tương ứng với một yờu cầu INVITE. Đõy là sự khẳng định cuối cựng của hệ thống cuối và chấm dứt một giao dịch khởi tạo bởi lệnh INVITE. Nếu bờn chủ gọi thờm vào phần mụ tả

phiờn giao dịch trong yờu cầu ACK, phiờn làm việc sẽ khụng sử dụng thờm tham số nào nữa, cũn ngược lại thỡ cỏc tham số của phiờn làm việc trong yờu cầu INVITE được sử dụng là mặc định.

OPTIONS: Bản tin này cho phộp hỏi và thu thập thụng tin về năng lực của user agent và network server. Tuy nhiờn, yờu cầu này khụng

được sử dụng để thiết lập cỏc phiờn.

BYE: Bản tin này sử dụng bởi bờn chủ gọi và bị gọi để giải phúng một 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 đến server thụng bỏo về việc muốn giải phúng phiờn làm việc.

CANCEL: Yờu cầu này cho phộp user agent và network server để

xoỏ bỏ bất kỡ yờu cầu nào đang thi hành. Việc này khụng ảnh hưởng tới cỏc yờu cầu đó nhận được cỏc đỏp ứng cuối cựng.

REGISTER: Bản tin này được cỏc client sử dụng để đăng ký thụng tin vị trớ với cỏc SIP server.

Cỏc bản tin RESPONSE

SIP Response là một bản tin được phỏt đi bởi một UAS hoặc một SIP Server. Cỏc bản tin Response dựa trờn việc nhận và thụng dịch một bản tin yờu cầu tương ứng, chỳng được gửi đi đểđỏp lại cỏc yờu cầu và chỉ thị cuộc gọi thành cụng hay thất bại cũng như trạng thỏi của phớa bị gọi. Cỏc bản tin

đỏp ứng được chia thành hai nhúm, bao gồm 6 loại.

- Provisional (1xx): Bản tin này dựng để chỉ thị tiến trỡnh nhưng khụng kết thỳc SIP transaction (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 SIP transaction

Bảng 2.2: Cỏc bản tin đỏp ứng của SIP

Bản tin Mụ tả

1xx Thụng bỏo đó nhận được Request và đang xử lý 2xx Thụng bỏo Request đó được xử lý thành cụng

3xx Thụng bỏo Request cần phải thực hiện lại trờn hướng khỏc

4xx Lỗi Client: Bản tin Request tương ứng bị lỗi, hoặc Request khụng được chấp nhận

5xx Lỗi Server: Thụng bỏo Request hợp lệ, nhưng khụng xử lý được lỗi do lỗi tại UAS

6xx Lỗi chung

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. Thụng thường cỏc Server Proxy sẽ gửi

Một phần của tài liệu Nghiên cứu kiến trúc và dịch vụ IMS trong các mạng thế hệ mới (Trang 36 - 48)

Tải bản đầy đủ (PDF)

(110 trang)