Đồ án Ứng dụng của SIP (Session Initiation Protocol)

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 nhằm 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ó. 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

doc36 trang | Chia sẻ: tuandn | Lượt xem: 4058 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Ứng dụng của SIP (Session Initiation Protocol), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 ……………………………………………..……………….... Đơn giản và có khả năng mở rộng  21   2.3.4 Bản tin đáp ứng …………………………………………………………….  21   2.3.5 Bản tổng hợp các bản tin trả lời của SIP…………………………………...  22   2.4 Thiết lập và hủy cuộc gọi SIP………………………………………………...  25   2.4.1 Phiên gọi SIP giữa hai điện thoại…………………………………………...  25   2.4.2 Hoạt động của máy chủ uỷ quyền…………………………………………..  26   2.4.3 Họat động của máy chủ chuyển đổi địa chỉ…………………………………  27   2.5 Tính năng của SIP…………………………………………………………….  28   2.5.1 Tích hợp với các giao thức đã có của IETF……………………………….  28   2.5.2 Đơn giản và có khả năng mở rộng………………………………………….  28   2.5.3 Hỗ trợ tối đa sự di động của đầu cuối………………………………………  28   2.5.4 Dễ dàng tạo tính năng mới cho dịch vụ và dịch vụ mới…………………....  29   Phần III: Ứng dụng………………………………………………………………..  30   3.1 Các ứng dụng thương mại…………………………………………………….  30   3.2 Ứng dụng trong mạng IMS…………………………………………………...  30   3.2.1 Giới thiệu mạng IMS………………………………………………………..  30   3.2.2 Ứng dụng của SIP trong kiến trúc IMS…………………………………….  32   Kết luận…………………………………………………………………………...  34   THUẬT NGỮ VIẾT TẮT Từ viết tắt  Tiếng Anh  Nghĩa tiếng Việt   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ụ   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  International Electrotechnical Commission  Uỷ ban điện tử quốc tế   IETF  Internet Engineering Task Force  Tổ chức đặc trách về kỹ thuật Internet   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   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  International Standard Organization  Tổ chức chuẩn quốc tế   ITU-T  International Telecommunication Union-Telecommunication Standardization Sector  Tiểu ban chuẩn hoá viễn thông thuộc tổ chức viễn thông quốc tế   MAC  Message Authentication Code  Mã nhận thực bản tin   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 bằng khóa công khai   S/MIME  Secure/ Multipurpose Internet Mail Extension  MIME đảm bảo   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   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 nhằm 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ó. 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 khỏi 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 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 kỹ thuật web và nó 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 đằng 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. 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 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 SIP trong mô hình IP/TCP. 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. 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 Call-ID, 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. Yêu cầu: là một bản tin SIP được gửi từ client tới server nhằm 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à nằm 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. 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 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 bằng 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. 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.2 Địa chỉ SIP Đị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