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.
10 trang |
Chia sẻ: maiphuongtt | Lượt xem: 1914 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Các giao thức báo hiệu và điều khiển ngang hàng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chương 10
CÁC GIAO THỨC BÁO HIỆU VÀ ĐIỀU
KHIỂN NGANG HÀNG
4.1. GIAO THỨC KHỞI TẠO PHIÊN SIP
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 khác đã ra đời trước đó. Giao thức SIP nó được
tích hợp với các giao thức đã có của 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.
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 SIP
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 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 đồng
hì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 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ột phiê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ỉ và đị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.
URL – encoded (mã URL): Là một chuỗi ký tự được mã hoá theo
RFC 1738.
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ực thể 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