Tài liệu Đồ án GIAO THỨC KHỞI TẠO PHIÊN (SIP) (Hỗ trợ dowload tài liệu zalo 0587998338)

  • Số trang: 34 |
  • Loại file: DOC |
  • Lượt xem: 16 |
  • Lượt tải: 0
taitruongtan

Tham gia: 11/09/2019

Mô tả:

HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) MỤC LỤC Nội dung Trang Thuật ngữ viết tắt.................................................................................................... 3 Lời nói đầu.............................................................................................................. 5 Phần I: Giới thiệu về giao thức khởi tạo phiên (SIP)............................................. 6 1.1 Định nghĩa giao thức khởi tạo phiên................................................................ 6 1.2 SIP đem lại ba năng lực chính cho mạng viễn thông........................................ 6 1.3 Sự phát triển của SIP......................................................................................... 7 1.4 Một số khái niệm trong SIP.............................................................................. 8 Phần II: Nội dung.................................................................................................... 11 2.1 Các thành phần của SIP..................................................................................... 11 2.1.1 User Agent (UA)............................................................................................ 11 2.1.2 Máy chủ mạng................................................................................................ 12 2.2 Địa chỉ SIP........................................................................................................ 13 2.3 Bản tin SIP....................................................................................................... 14 2.3.1 Cấu trúc bản tin SIP....................................................................................... 14 2.3.2 Các bản tin yêu cầu........................................................................................ 15 2.3.2.1 Method (chỉ thị)........................................................................................... 15 2. 2.3.2.2 Request_URI…………………………………………………………… 20 2.3.2.3 SIP Version……………………………………………………………… 20 2.3.2.4 Thân bản tin SIP………………………………………………………… 20 2.3.3 Nhãn Tag ……………………………………………..……………….... 21 Đơn giản và có khả năng mở rộng 2.3.4 Bản tin đáp ứng ……………………………………………………………. 2.3.5 Bản tổng hợp các bản tin trả lời của SIP…………………………………... 2.4 Thiết lập và hủy cuộc gọi SIP………………………………………………... 2.4.1 Phiên gọi SIP giữa hai điện thoại…………………………………………... 2.4.2 Hoạt động của máy chủ uỷ quyền………………………………………….. 2.4.3 Họat động của máy chủ chuyển đổi địa chỉ………………………………… 2.5 Tính năng của SIP……………………………………………………………. 2.5.1 Tích hợp với các giao thức đã có của IETF………………………………. 2.5.2 Đơn giản và có khả năng mở rộng…………………………………………. 2.5.3 Hỗ trợ tối đa sự di động của đầu cuối……………………………………… 2.5.4 Dễ dàng tạo tính năng mới cho dịch vụ và dịch vụ mới………………….... Phần III: Ứng dụng……………………………………………………………….. 3.1 Các ứng dụng thương mại……………………………………………………. 3.2 Ứng dụng trong mạng IMS…………………………………………………... 3.2.1 Giới thiệu mạng IMS……………………………………………………….. 3.2.2 Ứng dụng của SIP trong kiến trúc IMS……………………………………. Kết luận…………………………………………………………………………... Nhóm 5 - Lớp H09VT9 21 22 25 25 26 27 28 28 28 28 29 30 30 30 30 32 34 1 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) THUẬT NGƯ VIÊT TĂT Từ vít tắt Tíng Anh Nghĩa tíng Viêṭ AH Authentication Header Tiêu đề nhâ ̣n dạng AS Application Server Máy chủ ứng dụng CA Certificate Authority Đơn vị chứng thực CMS Cryptographic Message Syntax Cú pháp bản tin mã hóa DES Data Encrytion Standard Một chuẩn mã hóa dữ liệu DMZ Demilitaried Zone Vùng an toàn DoS Denial of Service Từ chối dịch vụ Nhóm 5 - Lớp H09VT9 2 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) ESP Encapsulating Security Payload Đóng gói tải tin an toàn HMAC Hash Message Authentication Code Mã nhận thực bản tin băm ICMP Internet Control Message Protocol Giao thức điều khiển bản tin Internet IEC Uỷ ban điện tử quốc tế IETF International Electrotechnical Commission Internet Engineering Task Force IKE Internet Key Exchange Trao đổi khóa Internet IKE Internet Key Exchange Giao thức trao đổi khóa Internet IMCP Internet Control Message Protocol Giao thức bản tin điều khiển Internet IP Internet Protocol Giao thức mạng IP Internet Protocol Giao thức mạng IPsec IP security protocol Giao thức an ninh Internet Tổ chức đă ̣c trách về ky thuâ ̣t Internet ISAKMP Internet Security Association and Key Management Giao thức liên kết an ninh và quản lý khóa qua Internet ISO Tổ chức chuẩn quốc tế MAC International Standard Organization International Telecommunication Union-Telecommunication Standardization Sector Message Authentication Code MD5 Message Digest 5 Thuật toán mã hóa MIME Multipurpose Internet Mail Extension Mở rô ̣ng thư internet đa mục đích NAT Network Access Translation Biên dịch địa chỉ mạng RFC Request for Comment Các chuẩn khuyến nghị của IETF RSA Rivest-Shamir-Adlenman Mô ̣t loại giải thuâ ̣t mã hóa bbng khóa công khai S/MIME Secure/ Multipurpose Internet Mail MIME đảm bảo Extension SA Security Association Liên kết an ninh SDP Session Description Protocol Giao thức mô tả phiên SHA-1 Secure Hash Algorithm-1 Thuâ ̣t toán băm đảm bảo ITU-T Nhóm 5 - Lớp H09VT9 Tiểu ban chuẩn hoá viễn thông thuộc tổ chức viễn thông quốc tế Mã nhận thực bản tin 3 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) SIP Session Initiation Protocol Giao thức khởi tạo phiên SIPS Secure SIP SIP đảm bảo SPIT Spam over Internet Telephony Spam qua thoại internet TCP Transmission Control Protocol Giao thức điều khiển truyền tải TLS Transmission Layer Security An ninh lớp truyền dân TU Transaction User Giao dịch người dùng UDP User Datagram Protocol Giao thức dữ liê ̣u đô người sử dụng URI Uniform Resourse Indicator Chỉ thị dạng thức tài nguyên URL Uniform Resource Locator Dạng nguôn nô ̣i bô ̣ VPN Virtual Private Network Mạng riêng ảo LỜI NÓI ĐẦU Cùng với sự phát triển của xã hội, nhu cầu trao đổi thông tin của con người ngày càng tăng, và các mạng viễn thông truyền thống với các loại hình dịch vụ như: điện thoại, điện báo, fax…sẽ không đáp ứng được yêu cầu hiện tại. Vì vậy, cần phải đưa ra giải pháp xây dựng một mạng mới, cung cấp được nhiều dịch vụ cùng với những thiết bị đầu cuối dễ sử dụng để đáp ứng nhu cầu của người dùng. Hơn thế nữa, mạng này phải có cấu trúc hiện đại, linh hoạt, dễ tích hợp với các mạng cũ để tiết kiệm chi phí lắp đặt, đổi mới. Xu hướng của hầu hết các tổ chức cũng như các quốc gia trên thế giới là hướng tới xây dựng mạng NGN, vì NGN là mạng duy nhất có cơ sở hạ tầng thông tin dựa trên công nghệ chuyển mạch gói, dễ mở rộng và nâng cấp, triển khai các dịch vụ đa dạng và nhanh chóng. SIP là một giao thức mới xuất hiện nhbm phục vụ cho mạng điện thoại IP nhưng đã được ứng dụng rộng rãi. Trong các cấu trúc mạng NGN, SIP đã được lựa chọn làm giao thức báo hiệu chính. SIP rất được chú ý và ngày càng được sử dụng rộng rãi trong các kiến trúc của mạng NGN. Tháng 11 năm 2000, SIP được chấp nhận như một giao thức báo hiệu của 3GPP và trở thành một thành phần chính thức của cấu trúc IMS. Đă ̣c điểm của SIP là đơn giản, mở, dễ dàng triển khai và tương thích với các giao thức IP đã có. Nhóm 5 - Lớp H09VT9 4 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) Nội dung đô án bao gôm ba phần: Phần I: Giới thiệu về giao thức khởi tạo phiên (SIP) Phần II:Nội dung. Phần III: Ứng dụng của SIP Do hạn chế về mă ̣t thời gian cũng như kiến thức cho nên không thể tránh khoi những thiếu sót và sai lầm, rất mong được sự góp ý của Cô, cùng các bạn để có thể sửa chữa, nâng cao sự hiểu biết của mình. Em xin chân thành cảm ơn Cô đã tận tình chỉ bảo giúp đỡ và tạo điều kiê ̣n tốt nhất để chúng em có thể hoàn thành đề tài này. Hà nội, ngày Tháng Năm 2011 Nhóm sinh viên thực hiện Phần I. GIỚI THIỆU VỀ GIAO THỨC KHỞI TẠO PHIÊN (SIP) 1.1 Định nghĩa giao thức khởi tạo phiên Giao thức khởi tạo phiên (SIP): là một giao thức báo hiệu mới xuất hiện thực hiện điều khiển phiên cho các kết nối đa dịch vụ. Về cơ bản, hoạt động điều khiển bao gôm khởi tạo, thay đổi và kết thúc một phiên có liên quan đến các phần tử đa phương tiện như video, thoại, tin nhắn, game trực tuyến, vân vân Giao thức khởi tạo phiên (Session Initiation Protocol) là một 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 2 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 1.2 SIP đem lại ba năng lực chính cho mạng viễn thông - Thứ nhất, nó kích thích sự phát triển của các mô hình ứng dụng và dịch vụ dựa trên web. Đây là một điều hết sức thuật lợi cho nhà cung cấp dịch vụ do có thể sử dụng một nguôn tài nguyên dôi dào các công cụ sẵn có, đông thời cũng thuận lợi đối với người sử dụng khi người sử dụng đã quen thuộc với ky thuật web và nó Nhóm 5 - Lớp H09VT9 5 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) cũng đã được triên khai trên phần lớn các thiết bị thông minh ngày nay. Điều này tăng cường khả năng cung cấp các dịch vụ mới một cách nhanh chóng. - Năng lực thứ hai là khả năng mở rộng, do SIP là giao thức báo hiệu đông cấp và có tính phân bố cao. Khác với các giao thức báo hiệu truyền thống thường có tính xử lý tập trung cao, điển hình là SS7, trong đó hoạt động của nó tập trung tại một số điểm báo hiệu trong một cấu trúc mạng báo hiệu phức tạp; các phần tử của SIP phân tán đến tận biên của mạng và được nhúng tới tận các điểm đầu cuối. - Thứ ba là khả năng phổ cập của SIP. Được phát triển bởi IETF, SIP kế thừa các đặc điểm của hai giao thức Internet đã được phát triển rất phổ biến: đó là Hyper Text Transport Protocol (HTTP) sử dụng cho Web và Simple Mail Transport Protocol (SMTP) sử dụng cho e-mail. Dựa vào các nguyên tắc có được từ môi trường IP, SIP được thiết kế là giao thức độc lập với ứng dụng, rất mềm dẻo và có khả năng áp dụng trong nhiều môi trường khác nhau và cung cấp các dịch vụ đa dạng. SIP là giao thức điều khiển báo hiệu thuộc lớp ứng dụng. Ưu điểm chính của SIP so với các phương thức báo hiệu khác là cung cấp một sự mềm dẻo. Nó được thiết kế nhanh và đơn giản. Ý tưởng đbng sau SIP là cung cấp phương tiện đơn giản, nhẹ nhàng cho việc tạo và kết thúc các kết nối truyền thông tương tác theo thời gian thực trên mạng IP; chủ yếu cho thoại và cho cả hội đàm qua video, chat, trò chơi và thậm chí cả chia sẻ ứng dụng. 1.3 Sự phát triển của SIP SIP được phát triển bởi SIP working Group trong IETF. Phiên bản đầu tiên được ban hành vào năm 1999 trong tài liệu RFC 2543. Sau đó, SIP trải qua nhiều thay đổi và cải tiến. Phiên bản mới nhất hiện nay được ban hành theo IETF RFC 2543, do đó các hệ thống thực thi theo RFC 2543 hoàn toàn có thể sử dụng với các hệ thống theo RFC 3261. Từ khi SIP được công bố, hàng trăm nhà sản xuất đã bắt đầu bán ra trên toàn cầu máy chủ và điện thoại có tính năng SIP. Một điều đáng lưu ý là Microsoft cũng đã hỗ trợ sẵn cho SIP trong Windows XP. Để thực hiê ̣n chức năng điều khiển phiên, SIP hỗ trợ 5 chức năng sau: Nhóm 5 - Lớp H09VT9 6 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) - Định vị người dùng (User Location) : Xác định vị trí thiết bị đầu cuối khách hàng - Năng lực người dùng (User capabilities): Xác định phương tiện và các thông số được sử dụng. - Khả dụng người dùng (User availability): Xác định trạng thái và tính sẵn sàng của thuê bao bị gọi để bắt đầu thiết lập đường truyền. - Thiết lâ ̣p phiên (session setup): Thiết lập các thông số của phiên cho cả thuê bao chủ gọi và thuê bao bị gọi. - Quản lý phiên (Session management): Tạo, kết thúc, và sửa đổi phiên. SIP là một phần trong bộ giao thức chuẩn cho truyền dòng tin đa phương thức do IETF khuyến nghị như RSVP (giao thức giữ trước tài nguyên), RTP (giao thức truyền tải theo thời gian thực), RTCP (giao thức điều khiển truyền tải thời gian thực), SAP (giao thức thông báo phiên), SDP (giao thức mô tả phiên). SIP không phải là mô ̣t giao thức hoạt đô ̣ng đô ̣c lâ ̣p.  Vị trí của SIP trong ngăn xếp giao thức đa phương tiê ̣n: SIP là mô ̣t giao thức thuô ̣c lớp ứng dụng trong mô hình TCP/IP. Hình 1.3 II tr3on mô hình I TCP .3 1.4 Một số khái niệm trong SIP  Cuô ̣c gọi (call): mô ̣t cuô ̣c gọi gôm tất cả các thành viên trong phiên được mời bởi mô ̣t tài nguyên chung. Nhóm 5 - Lớp H09VT9 7 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP)  Client: là một chương trình ứng dụng gửi đi những yêu cầu SIP. Client có thể ảnh hưởng trực tiếp hoặc không đến người sử dụng. Client được chứa trong các Proxy và UA (Uers Agent).  Hô ̣i nghị (Conference): hội nghị là một phiên đa phương tiê ̣n. Một hội nghị có thể không có hoặc có nhiều thành viên và bao gôm các trường hợp như hội nghị đa phương, thoại hai thành viên.  Đoạn thoại (dialog): mô ̣t đoạn giữa các UA có quan hê ̣ “ngang hàng” và nó được duy trì trong mô ̣t khoảng thời gian. Mô ̣t đoạn thoại được thiết lâ ̣p bởi các bản tin SIP, chẳng hạn như 2xx đáp ứng cho yêu cầu INVITE. (Trong RFC 2543 thì nó chính là Call leg: Call leg được nhâ ̣n biết bởi sự kết hợp của CallID, To và From).  Đáp ứng kết thúc (Final Respone): là đáp ứng kết thúc một phiên giao dịch SIP, bao gôm các lớp đáp ứng sau: 2xx, 3xx, 4xx, 5xx, 6xx.  Lời mời (invitation): là yêu cầu gửi từ User hoặc Service đề nghị tham gia vào một phiên hội thoại. Một lời mời đầy đủ gôm một yêu cầu INVITE ngay sau một yêu cầu ACK.  Tìm kiếm song song (Parallel search): trong một quá trình tìm kiếm song song, một proxy đưa ra một vài yêu cầu tới người dùng hiện tại trong khi nhận một yêu cầu đến.  Đáp ứng tạm thời (provisional respone): đáp ứng tạm thời là đáp ứng được Server dùng để thông báo tiến trình gọi nhưng chưa kết thúc một phiên giao dịch SIP, đáp ứng 1xx là đáp ứng tạm thời.  Server: là một chương trình ứng dụng có nhiệm vụ nhận các yêu cầu hợp lệ từ các dịch vụ và gửi trả lại các đáp ứng. Server có thể là Proxy, Redirect, UAS, Registrars.  Phiên (session) : theo đặc tả của SDP thì một phiên đa truyền thông là tập hợp những người gửi và nhận cùng với dòng dữ liệu từ nơi gửi đến nơi nhận. Nó được xác định bởi chuỗi tên người dùng, phiên nhâ ̣n dạng, kiểu mạng, kiểu địa chỉ và địa chỉ các phần tử trong trường nguôn.  Giao dịch SIP (SIP transaction): giao dịch SIP là quá trình xảy ra giữa một Client và một Server gôm tất cả các bản tin từ yêu cầu đầu tiên gửi đi từ client đến server cho đến đáp ứng kết thúc từ Server gửi trả lại Client. Nó được nhận biết bởi số thứ tự CSeq. Yêu cầu ACK có cùng số CSeq với yêu cầu INVITE tương ứng nhưng chứa một giao dịch của riêng nó.  Bản tin: dữ liê ̣u gửi giữa các phần tử SIP, nó như là mô ̣t phần của giao thức. Có hai loại bản tin đó là bản tin yêu cầu và bản tin đáp ứng. Nhóm 5 - Lớp H09VT9 8 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP)  Yêu cầu: là mô ̣t bản tin SIP được gửi từ client tới server nhbm mục đích yêu cầu hoạt đô ̣ng.  Đáp ứng: là bản tin SIP được gửi từ server tới client, nó chỉ ra trạng thái của yêu cầu gửi từ client tới server.  Proxy hướng ra: mô ̣t proxy mà nhâ ̣n yêu cầu từ mô ̣t client. Thông thường, UA cấu hình với proxy hướng ra, hoă ̣c là nó có thể học thông qua viê ̣c cấu hình tự đô ̣ng.  Proxy, Proxy Server: nó là phần tử trung gian, hoạt đô ̣ng giống như là server và client.  Stateful Proxy: là proxy có duy trì trạng thái giao dịch client và server trong quá trình xử lý yêu cầu.  Stateless Proxy: là proxy mà không duy trì trạng thái giao dịch client và server khi nó xử lý yêu cầu.  Redirect Server: máy chủ chuyển tiếp, nó là UAS và phát các đáp ứng 3xx đáp lại các yêu cầu mà nó nhâ ̣n được.  TU (Transaction User): giao dịch người dùng là quá trình xử lý lớp giao thức mà nbm trên lớp giao dịch.  UAC (User Agent Client): là thực thể mà tạo yêu cầu mới, và sau đó dùng cơ cấu trạng thái giao dịch client để gửi yêu cầu.  UAS (User Agent Server): là thực thể mạng mà phát đáp ứng trả lời yêu cầu SIP. Đáp ứng có thể chấp nhâ ̣n, từ chối, chuyển tiếp yêu cầu. Nhóm 5 - Lớp H09VT9 9 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) Phần II. NỘI DUNG 2.1 Các Thành phần của SIP Giao thức SIP gôm hai thành phần chính là: - Đại lý trạm người dùng (user agent ) - Máy chủ mạng (Network Server ) Hình 2.1: Cấu trúc của SIP 2.1.1 User Agent (UA) - User Agent ( UA) là một hệ thống cuối cùng hoạt động trên nhân danh của người dùng, User Agent phải có khả năng thiết lập một session của phương tiện này Nhóm 5 - Lớp H09VT9 10 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) với các user agent khác. UA bao gôm User Agent Client (UAC) khởi tạo cuộc gọi và User Agent Server (USA) trả lời cuộc gọi. - User Agent (UA) có thể là máy điện thoại SIP hoặc máy tính chạy phần mềm đầu cuối SIP. ( Điện thoại SIP giống như Điện thoại VoIP hoặc điện thoại mềm,đây là các điện thoại cho phép thực hiện các cuộc gọi bbng cách sử dụng công nghệ VoIP giao thức truyền giọng nói qua Internet, điện thoại SIP chạy trên phần cứng giống như điện thoại để bàn nhưng có thể nhận và thực hiện các cuộc gọi qua internet thay vì hệ thống PSTN truyền thống, điện thoại SIP cũng có thể chạy trên phần mềm. Các tùy chọn này cho phép mọi máy tính được sử dụng như điện thoại qua tai nghe có micrô hoặc card âm thanh. Ngoài ra, cần phải kết nối băng thông rộng và kết nối với nhà cung cấp VOIP hoặc máy chủ SIP). Hình 2.2.1 Sơ đô User Agent 2.1.2 Máy chủ mạng (Network Server ) Máy chủ mạng bao gôm: 2.1.2.1 Máy chủ ủy quyền (Proxy server) : là một chương trình trung gian, hoạt động như là một server và một client cho mục đích tạo các yêu cầu thay mặt cho các client khác. Các yêu cầu được phục vụ bên trong hoặc truyền chúng đến các server khác. Một proxy có thể dịch và nếu cần thiết có thể tạo lại các bản tin yêu cầu SIP trước khi chuyển chúng đến server khác hoặc một UA. Trong trường hợp này trường Via trong bản tin đáp ứng, yêu cầu chỉ ra các proxy trung gian tham gia vào tiến trình xử lý yêu cầu. Nhóm 5 - Lớp H09VT9 11 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) 2.1.2.2 Máy chủ định vị (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 thuê bao bị gọi cho các phần mềm máy chủ ủy quyền và máy chủ chuyển đổi địa chỉ. 2.1.2.3 Máy chủ chuyển đổi địa chỉ (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 cho đầu cuối. Không giống như máy chủ ủy quyền, máy chủ chuyển đổi địa chỉ không bao giờ hoạt động như một đầu cuối, tức là không gửi đi bất cứ yêu cầu nào. Máy chủ chuyển đổi địa chỉ cũng không nhận hoặc huỷ cuộc gọi. 2.1.2.4 Máy chủ đăng ký (Register Server): là phần mềm nhận các yêu cầu đăng ký,trong nhiều trường hợp máy chủ đăng ký đả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 máy chủ đăng ký được cài đặt cùng với máy chủ ủy quyền và máy chủ hay địa chỉ hoặc cung cấp dịch vụ định vị thuê bao. Mỗi lần đầu cuối được bật lên ( ví dụ máy điện thoại hoặc phần mềm SIP) thì đầu cuối lại đăng ký với máy chủ. Nếu đầu cuối cần thông báo cho máy chủ về địa điểm của mình thì bản tin REGISTER cũng đượ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ỳ. 2.32 Địa chỉ II Địa chỉ SIP thường là URI với giản đô sip, hoặc là sips được sử dụng trong một số trường header như là To, From và Contact để chỉ ra đích. SIP URI chứa giản đô “sip” với dấu ‘:’, sau đó sẽ là địa chỉ có dạng username@host hoặc là địa chỉ IPv4, tiếp theo đó là dấu ‘:’ sau đó là port number, và sau đó là ‘;’ và các thông số của URI được phân cách bởi dấu ‘;’. Thí dụ: sip: lop.h09vt9@transform.org: 5060; transport=udp; user=ip; method = INVITE; ttl =1; maddr =240.101.102.103 Một số SIP URI, chẳng hạn như REGISTER, Request-URI không có “username”, nhưng nó bắt đầu với host hoặc là địa chỉ IPv4. Trong thí dụ trên, số cổng là 5060 là cổng dành cho SIP. Với SIP URI nếu như không có số cổng, thì nó giả định là 5060. Với SIPS URI cổng được giả định là 5061. Trong thí dụ trên thông số truyền tải “transport” là UDP được sử dụng. Các thông số transport khác có thể được dùng là TCP, TLS. Thông số user được sử dụng để xác định đối tượng được dùng của URI. Khi không có mặt thông số này, thì nó có giá trị mặc định là “ip”.Nếu thông số user = phone, thì nó chỉ thị giá trị là số điện thoại. Thông số này không được sử dụng để Nhóm 5 - Lớp H09VT9 12 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) phong đoán với các đặc điểm hoặc khả năng của UA. Nếu user = phone thì URI trong SIP lúc này sẽ là tel URI (thí dụ tel URI, tel: +84906264755). Thông số method được sử dụng để chỉ thị phương thức được sử dụng. Giá trị mặc định là INVITE. Thông số này không có trong các trường header To và From, nhưng mà có thể được sử dụng trong header Contact để đăng kí. Với thông số ttl (time-to-live), nó chỉ được sử dụng nếu như thông số maddr chứa địa chỉ multicast và thông số truyền tải chứa UDP. Giá trị mặc định là 1. Giá trị này có nghĩa là phiên multicast. Thông số maddr thường chứa địa chỉ multicast khi mà các yêu cầu có thể được chuyển hướng. Tuy nhiên nó cũng có thể chứa địa chỉ unicast của một server khác để yêu cầu. Giản đô sips URI có cấu trúc giống như sip URI nhưng nó bắt đầu với tên giản đô là sips. Chú ý sips URI có yêu cầu bảo mật cao hơn sip URI, thông số transport của sips URI luôn có giá trị là tls. Với sips URI, với lớp truyền tải TLS được sử dụng l à end-to-end cho đường truyền SIP. 2.3 Bản tin SIP SIP là giao thức dạng TEXT sử dụng bộ kí tự UTF-8. Bản tin SIP có thể chia ra làm 2 loại chính là: yêu cầu và đáp ứng. Bản tin yêu cầu có 6 loại, được khai báo trong trường thông số chỉ thị (Method). Bản tin đáp ứng được phân theo lớp, nó có thông số mã trạng thái (Status Code) và ta có thể xem các loại bản tin. 2.3.1 Cấu trúc bản tin SIP Bản tin SIP gôm nhiều dòng text, mỗi dòng kết thúc bbng một kí tự CRLF (Carriage-Return Line-Feed: hết dòng bắt đầu dòng mới) và phải lưu ý rbng dòng trống vân phải có để ngăn cách phần tiêu đề và thân của bản tin ngay cả khi phần thân bản tin là rỗng. Cả bản tin yêu cầu và đáp ứng đều sử dụng chung một định dạng cơ bản được quy định trong RFC 3261 với cấu trúc gôm một dòng bắt đầu (start - line), một số trường header (tiêu đề) và và một phần thân bản tin tùy chọn. Bản tin SIP có khuôn dạng như sau: Nhóm 5 - Lớp H09VT9 13 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) Hình 2.3 .31 Khuôn dan bn ttn II Cấu trúc này được tóm tắt như sau: Bản tin dạng tổng quát = dòng bắt đầu *header bản tin CRLF [thân bản tin] Trong đó: Dòng bắt đầu = Dòng yêu cầu/Dòng trạng thái header bản tin = header yêu cầu/header đáp ứng 2.3.2 Các bản tin yêu cầu Các bản tin SIP được phân biệt với nhau dựa vào dòng tiêu đề (Start-line). Trong đó, các bản tin yêu cầu có dòng khởi đầu là một dòng yêu cầu. Dòng này chứa tên phương thức (Method), Request–URI, và phiên bản giao thức. Các thành phần được ngăn cách bbng một kí tự trống (SP: space). Khuôn dạng bản tin yêu cầu: Bản tin yêu cầu = Dòng yêu cầu * header yêu cầu CRLF [ thân bản tin ] Trong đó: Dòng yêu cầu = Method SP Request-URI SP SIP-Version CRLF Bảng phân loại các bản tin yêu cầu: Bản tin Nhóm 5 - Lớp H09VT9 Ý nghĩa 14 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG INVITE GIAO THỨC KHỞI TẠO PHIÊN (SIP) khởi tạo một phiên ( bắt đầu thiết lập cuộc gọi bbng cách gửi bản tin mời đầu cuối khác tham gia) ACK bản tin này khẳng định máy trạm đã nhận được bản tin trả lời bản tin INVITE BYE Yêu cầu kết thúc phiên CANCEL Huỷ yêu cầu đang nbm trong hàng đợi REGISTER đầu cuối SIP sử dụng bản tin này để đăng ký với máy chủ đăng ký OPTIONS sử dụng để xác định năng lực của máy chủ INFO sử dụng để tải các thông tin như âm báo DTMF 2.3.2.1 Method (Chỉ thị) SIP định nghĩa 6 chỉ thị chính đó là: REGISTER, INVITE, ACK, CANCEL, OPTIONS. REGISTER để đăng kí thông tin liên lạc, INVITE, ACK và CANCEL để thiết lập phiên, BYE để kết thúc phiên, và OPTION để đòi hoi về khả năng của SIP Server. i.INVITE Chỉ thị INVITE được dùng để thiết lập phiên phương tiện giữa các UA. Trả lời INVITE luôn luôn được thông báo với chỉ thị ACK. Một bản tin INVITE thường có phần thân bản tin chứa thông tin của người gọi. Thân bản tin cũng có thể chứa các thông phiên khác như là QoS hoặc là thông tin bảo mật. Nếu INVITE không chứa thông tin phương tiện UAC, thì ACK chứa thông tin phương tiê ̣n của UAC. Nếu thông tin phương tiện trong ACK không được chấp nhận, thì phía bị gọi sẽ gửi bản tin BYE để hủy phiên. CANCEL không được gửi vì phiên đã sẵn sàng để thiết lập. Một phiên phương tiện được xem như là đã thiết lập khi mà các bản tin INVITE, 200 OK, và ACK đã trao đổi giữa UAC và UAS. Bản tin INVITE thành công sẽ thiết lập thoại giữa hai UA, nó kết thúc khi bản tin BYE được gửi bởi một trong hai bên để kết thúc phiên. UAC khởi tạo INVITE để thiết lập thoại tạo ra một Call-ID mà được sử dụng trong suốt quá trình gọi. Số Cseq được gán (không nhất thiết phải là 1, nhưng phải là số nguyên) và nó tăng theo mỗi yêu cầu mới cho cùng Call-ID. Header To và From chứa Nhóm 5 - Lớp H09VT9 15 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) địa chỉ remote(địa chỉ xa) và local(địa chỉ nô ̣i bô ̣). Nhãn From nbm trong INVITE, và UAS tính đến nhãn To trong bất kỳ đáp ứng nào. Nhãn To trong 200 OK (báo yêu cầu thành công) đáp trả INVITE được sử dụng trong trường header To của ACK, và tất cả các yêu cầu sau trong thoại. Việc kết hợp các nhãn To, From, và Call-ID để nhận dạng cho cho thoại. Hình 2.3 .32 Chí dụ đơn tbn về thtết lập phtên II INVITE được gửi cho một cho một đoạn thoại đang tôn tại với cùng Call-ID giống như INVITE ban đầu và chứa cùng cùng nhãn To và From. Đôi khi được gọi là re-INVITE, yêu cầu để thay đổi các đặc tính hoặc “refresh” (làm mới) trạng thái của thoại. CSeq điều khiển chuỗi số được tăng do đó UAS có thể phân biệt re-INVITE của INVITE gốc. Nếu re-INVITE bị từ chối hoặc xảy ra bất kỳ lỗi nào, phiên tiếp tục như thể reINVITE chưa từng được gửi. Một re-INVITE không được gửi bởi UAC cho tới khi đáp ứng kết thúc cho INVITE ban đầu được nhận. Ngoài ra còn có trường hợp khi mà 2 UA đông thời gửi re-INVITE cho nhau. Nó có thể được xử lý bbng cách gửi header Retry-After. Trường hợp này được gọi là xung đột trong thoại, và xảy ra khi mà cả hai đầu cuối của cùng nhóm trung kế bắt tín hiệu của cùng trung kế tại cùng thời điểm. Header Expires trong INVITE cho UAS biết yêu cầu của cuộc gọi tôn tại trong bao lâu. Thí dụ, UAS có thể loại bo và không đáp trả yêu cầu INVITE được hiển thị trong suốt quá trình chỉ định trong header Expires. Một phiên được thiết lập, header Expires không có ý nghĩa, header này chỉ có ý nghĩa trong quá trình thiết lâ ̣p phiên. Nhóm 5 - Lớp H09VT9 16 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) Các trường header bắt buộc phải có trong một yêu cầu INVITE đó là: Call-ID, CSeq, From, To, Via, Contact, Max-Forwards. Thêm vào đó, yêu cầu này chứa thêm header Subject tùy chọn. ii.ACK Chỉ thị ACK được sử dụng để báo nhâ ̣n đáp ứng kết thúc cho yêu cầu INVITE. Nó không được dùng để thông báo cho các yêu cầu khác. Đáp ứng kết thúc được xác định như là 2xx, 3xx, 4xx, 5xx, 6xx. Một ACK có thể chứa thân bản tin có kiểu application/sdp. Điều này được phép nếu như yêu cầu INVITE ban đầu không chứa thân bản tin SDP. Nếu như INVITE đã chứa thân bản tin, ACK có thể không chứa thân bản tin. ACK có thể không được sử dụng để thay đổi sự mô tả phương tiện mà đã được gửi trong INVITE ban đầu; bản tin re-INVITE sẽ được sử dụng trong trường hợp này. SDP trong ACK được sử dụng trong một số kịch bản phối hợp với các giao thức khác, trong trường hợp mà các đặc điểm phương tiện có thể không được biết khi mà INVITE ban đầu được khởi tạo và gửi. Với đáp ứng 2xx, ACK là “toàn trình” (end-to-end), nhưng đối với tất cả các đáp ứng kết thúc khác, nó được thực hiện theo kiểu “nhảy bước” (hop-by-hop) khi có mă ̣t stateful proxy. Đặc tính end-to-end của ACK với đáp ứng 2xx cho phép thân bản tin được truyền. Một ACK khởi tạo trong báo nhận kiểu hop-by-hop sẽ chỉ chứa một header Via với địa chỉ của proxy server mà làm phát sinh ACK. Sự khác nhau giữa báo nhận hop-by-hop với đáp ứng báo nhận end-to-end được minh họa trong hình 2.3.3. Mô ̣t stateful proxy nhâ ̣n bản tin ACK phải xác định ACK sẽ được chuyển hay không trên luông về tới proxy hay UA khác hay không. Có nghĩa là: ACK theo kiểu hop-by-hop hay end-to-end. Điều này được thực hiện bbng cách so sánh branch ID(số nhâ ̣n dạng nhánh) với một branch ID chờ xử lý. Nếu kết quả là không chính xác, ACK được ủy quyền chuyển tới UAS. ACK trong bước này không được proxy chuyển tiếp. Các trường header bắt buộc trong yêu cầu ACK là: Call-ID, CSeq, From, To, Via, Max-Forwards. iii.BYE Chỉ thị BYE được sử dụng để kết thúc một phiên truyền thông đã được thiết lập. Một phiên được coi là đã được thiết lập, khi mà một INVITE đã nhận đáp ứng báo thành công (2xx) hoặc một ACK đã được gửi. Chỉ thị BYE chỉ được gửi bởi các UA đang tham gia trong phiên, proxy hoă ̣c là các thành viên thứ 3 khác không được phép gửi. Mô ̣t UA sẽ gửi trả với đáp ứng 481 (Dialog/Transaction Does Not Exist: Nhóm 5 - Lớp H09VT9 17 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) thoại/giao dịch không tôn tại) cho yêu cầu BYE mà nó không biết đến trong đoạn thoại. Các trường header bắt buộc trong yêu cầu BYE là: Call-ID, CSeq, From, To, Via, Max-Forwards. Hình 2.3 .3 Mtnh họa bn ttn end-to-end và hop- y-hop iv. REGISTER Chỉ thị REGISTER được UA dùng để đăng kí danh sách địa chỉ của người dùng trong trường tiêu đề To tới SIP server (registrar). Như vậy chỉ thị REGISTER này dùng để đăng kí thông tin người dùng Chỉ thị REGISTER được sử dụng bởi một UA để thông báo cho mạng của nó là nó chứa Contact URI (địa chỉ IP) và URI này có thể để các yêu cầu tìm tuyến đường cho Contact này. Tùy thuộc vào header Contact và Expires của yêu cầu REGISTER, mà registrar server có những đáp ứng khác nhau. Nếu không có thông số expires, SIP URI sẽ kết thúc sau 1 giờ. Nếu có thông số expires, nó sẽ thiết lập thời gian kết thúc cho Contact. SIP URI nào cũng bị giới hạn về thời gian kết thúc. CSeq được tăng cho yêu cầu REGISTER. Việc sử dụng các header RequestURI, To, From, và Call-ID trong yêu cầu REGISTER không khác là mấy so với các yêu cầu khác. Request-URI chỉ chứa tên miền của registrar server. Yêu cầu REGISTER có thể được chuyển tiếp hoặc ủy quyền cho tới khi nó tới registrar server trao quyền với tên miền được khai báo. Header To chứa SIP URI của bản ghi của UA Nhóm 5 - Lớp H09VT9 18 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) mà đang được đăng kí. From chứa SIP URI của người gửi yêu cầu. Nó yêu cầu cùng Call-ID cho mọi hoạt đô ̣ng đăng kí được sử dụng bởi cùng mô ̣t UA. Một UA gửi yêu cầu REGISTER có thể nhận đáp ứng 3xx (chuyển tiếp yêu cầu) hoặc là 4xx (lỗi yêu cầu). Request Header Contact: * Hoạt động của Registrar Hủy tất cả những đăng kí Expires:0 Contact: sip:galvani@bologna.edu.it Thêm Contact vào những đăng kí hiện tại; đăng kí kết thúc sau 30 phút. Expires: 30 Contact: sip:galvani@bologna.edu.it Contact: sip:l.galvani@bologna.it Thêm vào Contact để đăng kí theo thứ tự ưu tiên được ghi vào; địa chỉ đầu tiên nó kết thúc sau 45 phút, địa chỉ sau đó là kết thúc sau 30 phút. Expires: 30 Không chứa header Contact Trả lại tất cả những đăng kí trong đáp ứng. Expires: 45 Bbn 2.3 .34 Ktểu hoat độn của r3e tstr3ar3 và header3 Pontact v. CANCEL Chỉ thị CANCEL được sử dụng để hủy bo một yêu cầu được thực hiện với cùng giá trị trong các trường Call-ID, From, To và CSeq của yêu cầu đó. CANCEL là yêu cầu theo kiểu “nhảy bước”(hop-by-hop). CSeq không tăng đối với chỉ thị này do đó các proxy và UA có thể gán cho CSeq của CANCEL với CSeq của INVITE mà đang chờ xử lý một cách tương ứng. Số nhận dạng nhánh Branch ID của CANCEL được gắn với giá trị Branch ID của INVITE mà đang hủy. CANCEL chỉ dành cho INVITE, khi mà INVITE diễn ra quá lâu để hoàn thành. UA xác nhận việc hủy bo bbng đáp ứng 200 OK. Khi mà yêu cầu theo kiểu hop-by-hop, CANCEL có thể không chứa thân bản tin. Các trường header bắt buộc trong CANCEL là: Call-ID, CSeq, From, To, Via, Max-Forwards. vi. OPTIONS Chỉ thị OPTIONS dùng để đòi hoi về khả năng của SIP Server. Nếu một Server có khả năng liên lạc với user có thể đáp lại yêu cầu OPTIONS bbng một tập hợp các Nhóm 5 - Lớp H09VT9 19 GV hướng dẫn: Th.S Nguyễn Thu Hiên HVCN BƯU CHÍNH VIỄN THÔNG GIAO THỨC KHỞI TẠO PHIÊN (SIP) khả năng của nó. Chỉ thị này được đưa ra bởi SIP Proxy, Redirect Server, Registrar, Client. 2.3 .32.32 Request-URI Request-URI là SIP hoặc là SIPS URI hoặc là một URI tổng quát. Nó xác định người dùng và dịch vụ trong những yêu cầu được đánh địa chỉ. Các phần tử SIP có thể cấp Request-URI với giản đô “sip” và “sips”. 2.3 .32.3 II Ver3ston Cả bản tin yêu cầu và đáp ứng đều chứa phiên bản SIP được sử dụng. Hiện nay, có hai phiên bản SIP được kí hiệu là SIP và SIP/2.0. 2.3 .32.34 Chân bn ttn II Thân bản tin SIP chứa rất nhiều kiểu thông tin khác nhau. Chúng có thể chứa thông tin SDP, mà được sử dụng để truyền đạt thông tin phương tiện hoặc là QoS, thậm chí cả thông tin bảo mật. Header Content-Disposition được sử dụng để chỉ thị kiểu thân bản tin. Nếu như không có mặt header này thì phần thân bản tin sẽ giả định là phiên phương tiện. Định dạng của thân bản tin được chỉ thị bởi header Content-Type. Nếu 1 bản tin có chứa thân bản tin, thì bản tin phải bao gôm header Content-Type. Tất cả các UA phải hỗ trợ Content-Type là application/sdp. Ky thuật mã hóa của phần thân bản tin được chỉ thị trong header Content-Encoding. Nếu không khai báo thì nó sẽ được giả định là text/plain (dạng hiển thị văn bản). Header Content-Length chứa số byte của thân bản tin. Nếu 1 bản tin mà ko có phần thân, thì Content-Length sẽ có giá trị là 0. Do bản tin SIP đa điểm có thể gửi theo luông TCP, dựa vào số Content-Length để phát hiện một bản tin là kết thúc hoặc là bắt đầu. Nếu Content-Length ko có giá trị, thì UAC phải giả thiết rbng thân bản tin vân được duy trì cho tới khi kết thúc dữ liệu UDP, hoặc là kết nối TCP được đóng lại, điều này phụ thuộc vào giao thức truyền tải. Thân bản tin có thể có nhiều phần nếu như chúng được mã hóa, sử dụng MIME (Multi-part Internet Mail Extensions). Có nghĩa là có thể hoạt động với nhiều thân bản tin, header Content-Type được ghi là multipart/mime. Tuy nhiên, thân bản tin SIP phải không được vượt quá UDP MTU (khối truyền UDP tối đa) của mạng. Proxy có thể từ chối nếu thân bản tin lớn bbng đáp ứng 413 Request Entity Too Large (thực thể yêu cầu quá lớn), khi mà việc xử lý bản tin lớn khiến cho server không thể tải được. 2.3 .3 Nhãn ta Nhóm 5 - Lớp H09VT9 20 GV hướng dẫn: Th.S Nguyễn Thu Hiên
- Xem thêm -