Giao thức khởi tạo phiên SIP (Session Initiation Protocol)

Một phần của tài liệu Nghiên cứu công nghệ iptv và xu hướng phát triển hiện nay (Trang 46 - 51)

SIP là giao thức báo hiệu được sử dụng để thiết lập các phiên trong mạng IP, một phiên có thể đơn giản là một cuộc gọi điện thoại hai chiều, một thông báo danh sách các tin nhắn hoặc một hội nghị sử dụng truyền thông đa chiều.

46

SIP được thiết kế là một thành phần quan trọng của mạng IP tích hợp dữ liệu và thoại. Ví dụ, các công ty có thể tiết kiệm chi phí khi chạy một đường dây duy nhất đến máy tính để bàn dùng IP thay cho đường dây thứ nhất dùng điện thoại truyền thống và cho phép máy tính hoạt động như điện thoại mềm để người dùng có thể thực hiện được cuộc gọi bằng cách nhấn chuột lên các phím số hoặc tên của người gọi trong niên giám.

PC. Tên này được nối kết với một địa chỉ SIP URL, gửi một thông điệp vào mạng. Sau khi kết nối được thiết lập, người dùng điện thoại mềm có thể giao tiếp qua tai nghe-nói nối với máy tính.

2.2.8.1: Các thành phần của SIP như sau:

Hình 2.7 Kiến trúc của giao thức SIP

- User Agent: Là một ứng dụng để khởi tạo, nhận và kết thúc cuộc gọi User

Agent Clients (UAC) - Khởi tạo cuộc gọi. User Agent Server (UAS) - Nhận cuộc

gọi. Cả UAC và UAS đều có thể kết thúc cuộc gọi.

- Proxy Server: Là một chương trình tức thời hoạt động vừa là client vừa là server. Chương trình này được sử dụng để tạo ra các yêu cầu (requests) thay cho các client. Một proxy server đảm bảo chức năng định tuyến và thực hiện các quy tắc (policy) (ví dụ như đảm bảo người dùng có được phép gọi hay

47

không). Proxy Server có thể biên dịch khi cần thiết, sửa đổi một phần của bản tin yêu cầu trước khi chuyển đi.

- Location Server: Được sử dụng bởi SIP redirect hoặc proxy server để lấy thông tin vềđịa điểm của người được gọi.

- Redirect Server: Là server nhận các yêu cầu SIP, sắp xếp các địa chỉ và trả địa chỉ về phía client. Khác với Proxy Server, Redirect server không tự khởi tạo ra các yêu cầu SIP của riêng nó. Đồng thời nó cũng không chấp nhận hay huỷ cuộc gọi giống như User Agent Server.

- Registrar Server: Là server chấp nhận các yêu cầu REGISTER, server này có thể hỗ trợ thêm tính năng xác thực, đồng thời hoạt động với proxy hoặc redirect server để đưa ra các dịch vụ khác.

2.2.8.2: Các bản tin trong SIP

- INVITE: Khi một user agent client muốn khởi tạo một phiên mới (như audio, video hay game), nó sẽ tạo ra một bản tin INVITE (Invite Request). Bản tin này gửi yêu cầu về server cho phép thiết lập một phiên làm việc. Bản tin

này có thể được gửi qua các proxy, các User Agent Server (UAS). Các

UAS sẽ kiểm tra thường xuyên xem người sử dụng có đồng ý lời mời không. Nếu đồng ý (có nghĩa là phiên làm việc được thiết lập) thì các UAS sẽ gửi bản tin phản hồi 2xx về.

Nếu lời mời không được chấp nhận thì phản hồi 3xx, 4xx, 5xx hay 6xx sẽ được gửi đi tuỳ theo lý do từ chối. Trước khi gửi tin hiệu phản hồi cuối cùng này, UAS còn gửi kèm một bản tin 1xx để thông báo User Agent Client tiếp tục giữ quá trình liên lạc với người được gọi.

- ACK: SIP thực thi quá trình bắt tay qua 3 bước: Phía gọi gửi bản tin INVITE;

Phía được gọi gửi bản tin ACK chấp nhận yêu cầu. Phía gọi gửi bản tin ACK để thông báo quá trình bắt tay đã hoàn tất và quá trình thiết lập cuộc gọi bắt đầu;

48

Description Protocol) hay không thì bản tin ACK đầu tiên sẽ có SDP của phía được gọi. Các bản tin ACK khác được gửi đi để kết thúc quá trình bắt tay và bao gồm SDP cần thiết để thiết lập cuộc gọi.

- BYE: Được sử dụng để kết thúc một phiên làm việc cụ thể hoặc một phiên làm việc tạm thời.

- CANCEL: Giống như tên gọi, bản tin CANCER được sử dụng để huỷ yêu cầu trước đó được gửi từ phía client. Nó yêu cầu UAS tạm dừng xử lý yêu cầu và tạo ra một phản hồi lỗi cho yêu cầu đó. Bản tin này sẽ không có tác dụng đối với yêu cầu mà UAS đã gửi đi phản hồi cuối cùng. Vì vậy bản tin này sẽ rất có ích đối với những yêu cầu mà server mất nhiều thời gian để phản hồi. Do đó, bản tin CANCER thích hợp nhất với bản tin INVITE, là bản tin mất nhiều thời gian để phản hồi.

- REGISTER: Bản tin này sử dụng để đăng ký User Agent với UAS.

- OPTIONS: Bản tin OPTIONS cho phép một User Agent xác định khảnăng

có thể của Proxy Server hay User Agent khác.

- Ngoài ra còn một số các giao thức khác được sử dụng nữa như: INFO, NOTIFY, SUBCRIBE, UNSUBCRIBE, UPDATE, MESSAGE, REFER, …

2.2.8.3: Các phản hồi trong SIP

- 1xx (PROVISIONAL): Phản hồi tạm thời, cho biết đã nhận được yêu cầu, tiếp tục quá trình yêu cầu.

- 2xx (SUCCESS): Thông báo đã nhận được đầy đủ, hiểu và chấp nhận. - 3xx (REDIRECTION): Thông báo cần có các bản tin khác để hoàn thành yêu cầu.

- 4xx (CLIENT ERORR): Thông báo yêu cầu chứa cấu trúc sai hoặc

không được đáp ứng ở server.

- 5xx (SERVER ERORR): Thông báo server không thể đáp ứng được yêu

cầu có cấu trúc hợp lệ.

- 6xx (GLOBAL FAILURE): Thông báo yêu cầu không thể xử lý được ở

49

2.2.8.4: Các bước thiết lập, duy trì và hủy cuộc gọi

- Đăng ký, khởi tạo và xác định vị trí người sử dụng. - Xác định băng thông cần thiết được sử dụng.

- Xác định sự sẵn sàng của phía được gọi, phía được gọi phải gửi một bản tin phản hồi thể hiện sự sẵn sàng để thực hiện cuộc gọi: chấp nhận hay từ chối.

- Cuộc gọi được thiết lập.

- Chỉnh sửa cuộc gọi (ví dụnhư chuyển cuộc gọi) và duy trì. - Kết thúc cuộc gọi.

Sơ đồ ví dụ quá trình thiết lập, duy trì và huỷ cuộc gọi bằng giao thức SIP, được chỉ ra ở hình 2.8 dưới đây:

50

Một phần của tài liệu Nghiên cứu công nghệ iptv và xu hướng phát triển hiện nay (Trang 46 - 51)

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

(91 trang)