Chương10CÁCGIAOTHỨCBÁOHIỆUVÀĐIỀU KHIỂN NGANG HÀNG 4.1. GIAOTHỨ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áohiệ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 giaothứ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ácgiaothứ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áohiệ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 giaothứ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 giaothứcbáohiệ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ácgiao th ức khác đã ra đời trước đó. Giaothức SIP nó được tích hợp với cácgiaothứ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ácgiaothứ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 giaothứ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úccá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úccá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ảivà 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àiliệ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áctà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ácgiaothứ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àiliệ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ôngbáohiệ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ácthự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 . 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. 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