Đăng ký Đăng nhập
Trang chủ Đồ án tốt nghiệp khoa công nghệ thông tin tìm hiểu giao thức sip và xây dựng ứn...

Tài liệu Đồ án tốt nghiệp khoa công nghệ thông tin tìm hiểu giao thức sip và xây dựng ứng dụng minh họa

.PDF
64
379
103

Mô tả:

LỜI CẢM ƠN Lời đầu tiên em xin chân thành cảm ơn thầy Huỳnh Minh Quang là người đã tận tình hướng dẫn, chỉ bảo em trong lúc thực hiện đề tài. Những ý kiến của thầy là vô cùng quý giá đối với em không những trong lúc thực hiện đề tài này mà còn là kinh nghiệm hữu ích cho em sau này. Em cũng xin chân thành cảm ơn các thầy cô trong khoa Tin Học trường đại học Mở TP.HCM đã nhiệt tình dạy dỗ và cung cấp cho em những kiến thức hữu dụng trong cuộc sống. Xin cảm ơn bạn bè, anh chị em đã động viên và chia sẻ thông tin cho em trong khi thực hiện đề tài. Cuối cùng con xin cảm ơn ba mẹ đã chăm sóc, nuôi dưỡng con thành người. Mặc dù đã cố gắng nhưng với những hiểu biết giới hạn chắc chắn sẽ không tránh khỏi những thiếu sót. Rất mong thầy cô và các bạn cảm thông và chỉ bảo. Sinh viên thực hiện Lưu Mạnh Hùng i Mục lục Lời cảm ơn ..............................................................................................................i Nhận xét của giáo viên hướng dẫn .........................................................................ii Mục lục .................................................................................................................iii Phần I Giới thiệu đề tài ....................................................................................... 1 Chương 1 Tổng quan, vai trò và ý nghĩa của SIP ............................................ 1 1.1. Tổng quan ........................................................................................................ 1 1.2. Vai trò và ý nghĩa của SIP............................................................................... 2 1.3. Các loại dịch vụ sử dụng SIP .......................................................................... 3 1.3.1. Các dịch vụ quản lý phiên cơ bản........................................................ 3 1.3.2. Các dịch vụ điều khiển nâng cao ......................................................... 4 1.3.3. Các dịch vụ đa phương tiện ................................................................. 4 1.3.4. Các dịch vụ hội nghị ............................................................................ 5 1.4. Mục tiêu của luận văn...................................................................................... 5 Phần II Cơ sở lý luận ........................................................................................... 6 Chương 2 Cấu trúc mạng SIP ............................................................................ 6 2.1. Địa chỉ SIP ..................................................................................................... 6 2.2. Chức năng SIP ............................................................................................... 6 2.2.1. Cài đặt, chỉnh sửa và kết thúc phiên .................................................... 6 2.2.2. Định vị người dùng.............................................................................. 8 2.3. Các thành phần............................................................................................... 9 2.3.1. User Agents (UAs) ............................................................................. 9 2.3.2. Proxy server ......................................................................................... 9 2.3.3. Redirect Server .................................................................................. 10 2.3.4. Registrars .......................................................................................... 11 2.3.5. Location service................................................................................. 11 Chương 3 Tổ chức của giao thức SIP .............................................................. 12 3.1.Thông điệp SIP ............................................................................................... 12 3.1.1.Khái niệm Dialog................................................................................ 12 3.1.2.Yêu cầu ............................................................................................... 14 3.1.3.Các câu trả lời ..................................................................................... 15 3.1.4.Field header......................................................................................... 17 3.2.SIP identity ..................................................................................................... 24 3.3.Giao thức SDP ................................................................................................ 25 Chương 4 Mã tình trạng SIP ............................................................................ 28 4.1.Nhóm 1 (1xx Provisional Codes) ................................................................... 28 4.2.Nhóm 2 (2xx Successful Status Codes) ......................................................... 29 4.3.Nhóm 3 (3xx Redirection Status Codes) ........................................................ 30 4.4.Nhóm 4 (4xx Client Failure Status Codes) .................................................... 31 4.5.Nhóm 5 (5xx Server Failure Status Codes).................................................... 37 4.6.Nhóm 6 (6xx Global Failure Status Codes) ................................................... 38 Chương 5 Thủ tục đăng ký và thành lập phiên trong mạng SIP .................. 40 5.1. Thủ tục đăng ký ............................................................................................. 40 5.1.1 .Đăng ký cơ bản .................................................................................. 40 5.1.2. Khai báo sự kiện ................................................................................ 41 5.2. Thành lập một phiên trong SIP...................................................................... 42 5.2.1. Truy cập mạng ................................................................................... 42 iii 5.2.2. Khởi tạo cuộc gọi............................................................................... 42 5.2.3. Yêu cầu từ máy khách ....................................................................... 44 5.2.4. Trả lời từ máy chủ.............................................................................. 44 5.2.5. Định tuyến SIP................................................................................... 45 5.3. Chỉnh sửa phiên SIP ...................................................................................... 46 5.4. Chấm dứt phiên SIP....................................................................................... 46 Chương 6 Bảo mật SIP...................................................................................... 47 5.1. Các tấn công mạng ........................................................................................ 47 6.1.1. Registration Hijacking ....................................................................... 47 6.1.2. Session Hijacking .............................................................................. 47 6.1.3. Impersonating a Server ...................................................................... 47 6.1.4. Tampering with Message Bodies....................................................... 47 6.1.5. Tearing Down Sessions47 6.1.6. Denial of Service and Amplification ................................................. 48 6.1.7. Bots and DDoS Attacks ..................................................................... 48 6.2. Giải pháp bảo mật.......................................................................................... 48 6.2.1. Network-layer security (IPSec) ......................................................... 48 6.2.2. Transport-layer security(TLS) ........................................................... 49 6.2.3. SIPS URI scheme .............................................................................. 50 6.2.4. HTTP authentication.......................................................................... 51 6.2.5. S/MIME ............................................................................................. 52 Phần III Cài đặt giao thức và xây dựng ứng dụng minh họa giao thức SIP 55 Chương 7 Cài đặt giao thức và xây dựng ứng dụng LEO ............................. 55 7.1. Thư viện lớp SIP............................................................................................ 55 7.1.1. Các thành phần của thư viện.............................................................. 55 7.2. Mô tả ứng dụng.............................................................................................. 56 7.2.1. Tổng quan về ứng dụng ..................................................................... 56 7.2.2. Môi trường xây dựng ......................................................................... 56 7.3. Cấu trúc ứng dụng ......................................................................................... 56 7.3.1. Thành phần của ứng dụng.................................................................. 56 7.4. Giao diện người dùng và cấu hình................................................................. 56 7.4.1. Giao diện người dùng ........................................................................ 56 7.4.2. Cấu hình............................................................................................. 58 7.5. Xử lý logic của ứng dụng .............................................................................. 59 Nhận xét đánh giá ................................................................................................ 60 Tài liệu tham khảo ............................................................................................... 61 iv Đề tài: Tìm hiểu giao thức SIP và xây dựng ứng dụng minh họa Phần I: Giới thiệu đề tài Chương 1: Tổng quan, vai trò và ý nghĩa của SIP 1.1. Tổng quan: Sự quan tâm đối với internet và các dịch vụ truyền thông đa phương tiện ngày càng tăng. Những người sử dụng internet trước đây chỉ để lướt web bây giờ lại say mê các dịch vụ như chat (Instant Messaging), game trực tuyến, gọi điện thoại và trao đổi Video trên mạng. Có nhiều dịch vụ cung cấp trên mạng internet dựa trên mạng IP, có thể chia làm 3 nhóm theo quan điểm của người sử dụng là: • Dịch vụ Infotainment: là dịch vụ người dùng có thể truy cập thông tin và các ứng dụng giải trí từ các máy chủ từ xa ví dụ như Web. • Dịch vụ Streaming: cho phép người dùng truy cập trực tuyến hoặc download các media (phim, nhạc,v.v). • Dịch vụ Communication: cho phép người này giao tiếp với người khác sử dụng các media khác nhau như điện thoại hay gửi thư. 1 Dịch vụ Communication có thể chia làm 2 loại: dịch vụ trực tuyến và dịch vụ không trực tuyến. • Trong dịch vụ trực tuyến chúng ta cần phải nối kết đồng thời để việc truyền thông có thể xảy ra ngay lập tức như điện thoại, chơi cờ hay chat. • Trong dịch vụ không trực tuyến không cần thiết phải kết nối cùng lúc để truyền thông xảy ra như gửi thư điện tử. Không như những loại dịch vụ khác, tín hiệu đóng vai trò quan trọng trong dịch vụ truyền thông đa phương tiện trên mạng IP. SIP (Session Initiation Protocol) là giao thức tín hiệu mức ứng dụng nên vai trò của nó rất quan trọng trong các dịch vụ truyền thông đa phương tiện. SIP không thay thế các dịch vụ khác đang tồn tại như HTTP, SMTP, POP3, IMAP4 mà nó được thiết kế để bổ sung cho những dịch vụ và các giao thức đang tồn tại như web hay thư điện tử và khi kết hợp với những giao thức này, SIP hứa hẹn một hệ thống truyền thông trên mạng IP bao gồm tất cả các dịch vụ có thể thực hiện trong thế giới thực. 1.2. Vai trò và ý nghĩa của SIP: Giả sử có hai người cần truyền thông giọng nói trên internet là A và B, cả hai người đều có máy tính kết nối internet, microphone, loa chương trình chuyển đổi âm thanh thành tín hiệu số, đóng gói và gửi đi thông qua giao thức RTP và ngược lại. Khi A nói vào microphone, giọng nói sẽ được chuyển đổi thành tín hiệu số và được chương trình máy tính gửi đến B thông qua giao thức RTP. Để gói dữ liệu âm thanh đến được B, gói dữ liệu phải chứa địa chỉ của B. Khi máy của B nhận được gói dữ liệu sẽ chuyển đổi gói thành tín hiệu số và phát ra loa. 2 Có một số vấn đề cần xem xét như sau: • Khi một bên muốn báo hiệu cho bên kia là sẽ bắt đầu giao tiếp thì làm thế nào? • Bên gửi yêu cầu cũng muốn biết là yêu cầu của mình được thực hiện chưa, bên nhận đang chấp nhận yêu cầu và đã chấp nhận chưa để bên gửi bắt đầu nói. • Phương thức mã hóa dữ liệu media của bên gửi và bên nhận có giống nhau không? • Nếu thay vì một người sử dụng máy tính thứ nhất thì họ muốn sử dụng máy tính thứ hai có địa chỉ IP khác thì làm sao? Những vấn đề trên chứng tỏ cần những thông tin thêm để điều khiển cách truyền thông thực hiện. Những thông tin điều khiển này là các tín hiệu và được gửi giữa 2 máy tính của A và B theo giao thức tín hiệu. SIP là giao thức vận chuyển những loại thông tin này. 1.3. Các loại dịch vụ sử dụng SIP: 1.3.1. Các dịch vụ quản lý phiên cơ bản: SIP có thể sử dụng trong các loại truyền thông đa phương tiện sau: Voice communication: Truyền thông giọng nói. 3 Video communication: Instant Messaging communication (IM): Text over IP: Peer-to-peer gaming: Whiteboarding: File transfer: Truyền thông video. Trao đổi tin nhắn trực tuyến. Trao đổi văn bản thời gian thực. game trực tuyến. Sử dụng một bảng vẽ để trao đổi thông tin giữa những người dùng. Chia sẻ file. Ngoài ra có thể kết hợp những dịch vụ này một số như: • Voice và video. • Voice và IM. • Voice và Real-Time Text. • Voice và File Transfer. • Voice và Gaming. • Voice và Whiteboarding. 1.3.2. Các dịch vụ điều khiển nâng cao: Một số dịch vụ SIP cung cấp thêm là: • Xác định người khởi tạo phiên: SIP bao gồm thông tin định danh của người gọi có thể được thể hiện đến người nhận. Ngược lại SIP cũng có thể ngăn định danh của người gọi thể hiện cho người nhận. • Xác định có multimedia trong phiên hay không? Khởi tạo cũng có thể bao gồm nội dung đa phương tiện trong yêu cầu khởi tạo phiên để cảnh báo cho người nhận. Nội dung đa phương tiện có thể là nhạc chuông, hình ảnh,v.v. • Chặn cuộc gọi: Ứng dụng chặn cuộc gọi có thể căn cứ vào các tham số khác nhau. Chẳng hạn như dựa vào người khởi tạo, nơi đến, nội dung đa phương tiện hay những tham số khác như ngày giờ. • Giữ cuộc gọi: Dịch vụ này dễ dàng sử dụng với SIP/SDP vì SDP đã cung cấp định nghĩa cho việc hoạt động và không hoạt động của media được gửi hoặc được nhận. • Chuyển cuộc gọi. Dịch vụ này dễ dàng sử dụng bằng cách chỉnh sửa các tham số SIP cái thể hiện nơi đến của cuộc gọi khi các điều kiện phù hợp diễn ra (chẳng hạn người nhận không trả lời).. 1.3.3. Các dịch vụ đa phương tiện: Một số dịch vụ: • Voice mail: Cho phép người gọi có thể để lại tin nhắn của họ để người nhận có thể nghe lại sau. 4 • Music on hold: Cho nghe nhạc khi chờ đợi. • Ringback tones: Chuông cảnh báo cuộc gọi đến. • Do not disturb: Người gọi được chuyển đến một menu với một số tham số được cấu hình. 1.3.4. Các dịch vụ hội nghị: • Multiparty call: Nhiều người cùng hội thoại. • Dial-in conferences: Những người tham gia quay 1 số định trước tham gia. • Dial-out conferences: Server được cấu hình để bắt đầu hội nghị ở thời gian xác định. 1.4. Mục tiêu của luận văn: Với tầm quan trọng của hệ thống SIP như ta đã thấy mục tiêu của luận văn là tìm hiểu giao thức SIP và cài đặt giao thức, xây dựng ứng dụng minh họa giao thức SIP. Với mục tiêu tìm hiểu giao thức SIP luận văn sẽ trình bày về hệ thống SIP bao gồm cấu trúc mạng SIP, chức năng SIP, các thành phần hệ thống SIP. Bên cạnh đó nó miêu tả cách thức tổ chức của hệ thống SIP, thủ tục đăng ký trong mạng SIP. Ngoài ra nó còn trình bày vấn đề bảo mật trong mạng SIP. Với mục tiêu cài đặt giao thức, xây dựng ứng dụng minh họa luận văn sẽ tập trung vào cài đặt giao thức với các lớp hỗ trợ cho hoạt động mạng SIP. Bên cạnh đó là ứng dụng nhỏ sử dụng thư viện lớp giao thức đã cài đặt nhằm minh họa rõ nét hơn một ứng dụng của SIP. 5 Phần II: Cơ sở lý luận Chương 2: Cấu trúc mạng SIP 2.4. Địa chỉ SIP: Trong mạng SIP một người sử dụng được xác định thông qua SIP URI. SIP URI là một URI (Universal Resource Identifier) chứa đựng thông tin để khởi tạo và duy trì một phiên truyền thông với các tài nguyên. Ví dụ SIP URI: sip:[email protected] Một SIP URI là lược đồ sip: bao gồm 2 phần được chia bởi ký hiệu @. • Phần người dùng chọn để xác định tài nguyên được cấp địa chỉ. Trong ví dụ trên là: client1. • Phần 2 dùng xác định nguồn cung cấp tài nguyên. Nó có thể là tên domain hoặc địa chỉ IP và port.Ví dụ trên là: abc.com. SIP URI có thể chỉ người sử dụng ,server và một số loại sau: • Định danh chung của người dùng như sip:[email protected] • Địa phương của người dùng. • Server SIP như: sip:193.53.24.3 • Một nhóm người dùng. • Một dịch vụ. 2.5. Chức năng SIP: SIP là giao thức tín hiệu nó giải quyết 2 khía cạnh chủ chốt là: • Cài đặt, chỉnh sửa và kết thúc phiên. • Định vị người dùng. 2.5.1. Cài đặt, chỉnh sửa và kết thúc phiên: Chức năng chính của SIP là khởi tạo phiên truyền thông đa phương tiện. Sử dụng SIP một người có thể gửi tín hiệu muốn truyền thông của họ đến một người khác và người đó có thể chấp nhận hay từ chối lời mời đó. SIP cũng có thề sử dụng để chỉnh sửa phiên. Ví dụ như thêm một thành phần media mới vào phiên. Chức năng cuối cùng của việc quản lý phiên là chấm dứt phiên. Bất kỳ người nào tham gia vào phiên có thể sử dụng SIP để chấm dứt việc truyền thông và việc gửi nhận media. Một phiên có thể diễn ra như sau: 6 ƒ Bên muốn thành lập cuộc gọi sẽ gửi yêu cầu cho bên nhận. Hệ thống SIP sẽ chuyển lời mời này đến bên nhận. ƒ Khi yêu cầu được chuyển nó sẽ mất chút thời gian để bên nhận chấp nhận hoặc từ chối lời mời do đó bên gửi cần phải được thông báo là yêu cầu đang được xử lý. Hệ thống SIP sẽ chuyển những thông tin báo đang được xử lý đến bên gửi để tránh bên gửi tiếp tục gửi lại yêu cầu. ƒ Nếu bên nhận yêu cầu chấp nhận yêu cầu thì bên gửi cần biết được thông tin đó để bắt đầu thành lập cuộc gọi. SIP sẽ chuyển thông tin về sự chấp nhận đến bên gửi. ƒ Việc thống nhất các tham số để giao tiếp như sự mã hóa và giải mã giọng nói và video. SIP sẽ sử dụng việc mô tả phiên để thực hiện chức năng này. ƒ Giả sử lúc đầu phiên có truyền thông cả audio và video. Trong khi giao tiếp một bên có thể muốn không truyền video nữa. Lúc này SIP sẽ chỉnh sửa phiên, một mô tả phiên mới không có video sẽ gửi đến bên kia và nếu yêu cầu được chấp nhận thì lúc này chỉ còn truyền giọng nói. ƒ Sau khi giao tiếp một bên muốn ngắt cuộc gọi chấm dứt đàm thoại thì hệ thống SIP sẽ chấm dứt phiên. 7 2.5.2. Định vị người dùng: Để khởi tạo phiên cần định tuyến từ bên gửi đến bên nhận. Trong mạng IP việc định tuyến cần dựa vào địa chỉ IP mà bên gửi không biết địa chỉ IP của bên nhận (địa chỉ IP của người nhận có thể thay đổi), nhưng người gửi phải biết định danh chung của người nhận. Hơn nữa người nhận có thể sử dụng các thiết bị khác nhau để giao tiếp do đó địa chỉ IP của thiết bị của người nhận là không cố định. Với yêu cầu đó hệ thống cần xác định vị trí của người dùng dựa trên định danh chung. Điều đó cần ánh xạ định danh chung với địa chỉ IP. Do vậy để một thiết bị nhận được cuộc gọi nó cần đăng ký. Sau khi đăng ký địa chỉ IP thiết bị của người dùng và định danh chung được lưu vào bảng chứa dữ liệu. Khi có cuộc gọi đến thiết bị của người dùng, cuộc gọi sẽ định tuyến đến server kết hợp với thiết bị đó, truy vấn DNS để có địa chỉ IP và gửi tín hiệu đến người dùng. 8 2.6. Các thành phần: 2.6.1. User Agents (UAs): Một UA bao gồm 2 thành phần: User Agent Client (UAC) và User Agent Server (UAS). UAC chịu trách nhiệm tạo yêu cầu SIP mới và nhận câu trả lời. UAS chịu trách nhiệm nhận yêu cầu SIP và tạo câu trả lời thích hợp. UA được tích hợp trong thiết bị của người dùng do đó người dùng có thể tương tác với nó thông qua giao diện. SIP UA là một phần không thể thiếu của một ứng dụng truyền thông đa phương tiện. Những UA có thể được cài đặt theo nhiều cách khác nhau. Nó có thể là phần mềm chạy trên máy tính hay là ứng dụng chạy trên điện thoại di động. 2.6.2. Proxy server: Proxy Server hoạt động như là client và server cho mục đích tạo yêu cầu thay cho client khác.Vai trò chính của Proxy server là định tuyến tức là công việc của nó là chuyển yêu cầu đến server tiếp theo cho đến người dùng đích. Có thể có một tập hợp proxy server giúp định tuyến yêu cầu giữa UAC và UAS. Có các loại proxy sau: 2.3.2.1. Outbound proxy: Một Outbound proxy giúp UA định tuyến các yêu cầu gửi đi. UA thường cấu hình để gửi yêu cầu đến outbound proxy, sau đó proxy sẽ định tuyến cho chúng. 9 2.3.2.2. Inbound proxy: Inbound proxy nắm giữ các yêu cầu đến sau đó sẽ chuyển cho UA thích hợp trong miền mà nó chịu trách nhiệm. Khi nhận được yêu cầu đến người dùng trong miền của nó, nó truy vấn Location Service để xác định Contact Address rồi chuyển yều cầu đến địa chỉ này. 2.3.2.3. Forking: Có trường hợp người dùng đăng ký nhiều địa chỉ cho một định danh lúc đó proxy có thể thực hiện theo 2 cách như sau: Tìm kiếm lần lượt từng địa chỉ hoặc tìm kiếm đồng thời nhiều địa chỉ. 2.3.3. Redirect Server: Redirect server là server UA, nó nhận yêu cầu từ UAC và tạo câu trả lời cho những yêu cầu này. Những câu trả lời này sẽ hướng dẫn UAC liên hệ với URI khác. 10 2.3.4. Registrars: Registrar là máy chủ chấp nhận các yêu cầu đăng ký từ UA. Một UA cần đăng ký trước khi nó có thể nhận cuộc gọi. Khi registrar chấp nhận yều cầu đăng ký từ UA nó đặt những thông tin nhận được trong một cơ sở dữ liệu gọi là Location Service. Những thông tin trong Location Service được ánh xạ giữa vị trí người dùng và định danh chung của người dùng. 2.3.5. Location service: Location Service không phải là thực thể SIP. Nó là cơ sở dữ liệu chứa đựng danh sách sự ánh xạ giữa Addresses of Record (AORs) là các định danh chung và Contact Addresses là vị trí người dùng trong miền cụ thể. AORs và Contact Addresses là các SIP URIs. Khi Registrar nhận yêu cầu đăng ký từ UA nó đưa thông tin đến Location Service, Location Service cũng liên hệ với Proxy Server của một miền để nhận thông tin vị trí của người dùng được gọi. 11 Chương 3: Tổ chức của giao thức SIP 3.1. Thông điệp SIP: Các thành phần SIP là các thành phần logic chứ không phải là thành phần vật lý. Một thành phần vật lý như Server có thể hỗ trợ nhiều thành phần logic. Các thành phần SIP phải có khả năng xử lý thông điệp SIP gọi là các lớp. Có các lớp sau: • Cú pháp và mã hóa: Là lớp cần thiết, cú pháp và mã hóa cần phải hiểu để thông dịch hoặc xử lý các thông điệp SIP. • Lớp vận chuyển: dùng để tạo các thông điệp và gửi trên mạng đến các thành phần SIP khác. • Lớp giao dịch: chịu trách nhiệm quản lý, truyền lại các câu trả lời đến các yêu cầu. • Các người dùng giao dịch: chịu trách nhiệm tạo các thông điệp như INVITE, hủy bỏ giao dịch, xác định địa chỉ. Trong các lớp trên 2 lớp đầu là cần thiết phải có. 3.1.1. Khái niệm Dialog: Khi 2 thiết bị giao tiếp với nhau chúng trao đổi những thông điệp (là các giao dịch). Ví dụ một điện thoại gửi yêu cầu INVITE đến điện thoại nhận. Nếu điện thoại nhận chấp nhận yêu cầu thì nó gửi câu trả lời đến yêu cầu và trao đổi các thông điệp khác (xem như là một dialog với thiết bị khác). Một phiên có thể có nhiều dialog như hình sau: 12 Mỗi dialog cần một dialog ID bắt nguồn từ SIP header. Khi UAC gửi yêu cầu nó mong chờ câu trả lời. Câu trả lời cần những header như TO, FROM CALL ID. Header TO và FROM cần tham số TAG sử dụng để tính dialog ID. Dialog ID là duy nhất trong UAC và UAS. SIP là giao thức dạng text có nghĩa thông tin được mã hóa trong giao thức là các chuỗi ký tự. Thông điệp SIP là những hàng ký tự, mỗi hàng được phân biệt bởi hai ký tự là ký tự về đầu dòng và ký tự xuống hàng Carriage Return and Line Feed (CRLF). Có hai loại thông điệp là yêu cầu và câu trả lời cho yêu cầu. Cả hai loại thông điệp đều bao gồm một hàng bắt đầu, một hoặc nhiều các field header, một dòng trắng để xác định kết thúc các field header và một phần thân thông điệp tùy chọn. Field header là một hàng bao gồm tên header, dấu “:”, giá trị của header và kết thúc bởi CRLF. 13 3.1.2. Yêu cầu: Một yêu cầu được gửi từ SIP client đến SIP server. Dạng yêu cầu có hàng bắt đầu như sau: METHOD REQUEST_URI SIP_VERSION METHOD xác định loại yêu cầu được gửi: ƒ REGISTER: Sử dụng để đăng ký User. ƒ INVITE: Dùng để mời một user đến một session. ƒ ACK: Xác nhận việc nhận yêu cầu khi cài đặt phiên ƒ CANCEL: Hủy giao dịch ƒ BYE: Kết thúc phiên. ƒ OPTIONS: Truy vấn server. ƒ INFO: Sử dụng để trao đổi thông tin như số đã gọi. ƒ MESSAGE: Sử dụng cho những thông điệp ngắn. ƒ NOTIFY: Sử dụng để thông báo cho các thành phần. ƒ SUBSCRIBE: Đăng ký nhận thông báo. ƒ UPDATE: Cập nhật thông tin phiên. Request-URI là một SIP URI chỉ rõ người dùng hay dịch vụ mà yêu cầu này gửi đến. Request-URI là khá quan trọng vì sử dụng để định tuyến yêu cầu. Hình trên minh họa giá trị của Request-URI qua các hop khác nhau từ người gửi đến người nhận trong mạng SIP. Ta có thể thấy trong bước 1 và 2 SIP URI chứa định danh public của người nhận. Tuy nhiên khi yêu cầu đến inbound proxy của người nhận nó truy vấn Location service và nhận địa chỉ của người nhận sau đó thay thế URI gốc. Trong chuỗi định tuyến trên thì Request-URI luôn chỉ nơi đến của yêu cầu và giá trị của nó thay đổi khi đến inbound proxy của người nhận vì đã có thông tin chính xác. 14 Trong hình trên inbound proxy của người nhận cài đặt một dịch vụ chuyển tiếp đơn giản, khi nó nhận một yêu cầu có đích đến là abc nó tự động thay đổi giá trị Request-URI đến SIP URI của cba người mà abc muốn chuyển tất cả các cuộc gọi đến của abc. 3.1.3. Các câu trả lời: Câu trả lời gửi từ server đến client theo yêu cầu. Dạng của câu trả lời là: SIP VERSION (space)STATUS CODE(space)REASON PHRASE(crlf) SIP VERSION là phiên bản SIP, mặc định là 2.0 Status code được định nghĩa theo lớp. Có 6 lớp mã tình trạng ƒ 1xx: Mã tạm thời: Các mã thuộc nhóm này chỉ ra rằng yêu cầu đã được nhận và đang được xử lý. Đây là mã trả lời thường xuyên từ server đến client, nó như là một sự xác nhận. Mục đích là ngăn chặn việc gửi lại yêu cầu nhiều lần. ƒ 2xx: Thành công: Chỉ ra rằng yêu cầu đã được xử lý và hành động đã hoàn thành. ƒ 3xx: Chuyển tiếp. Chuyển tiếp được gửi khi một phiên được chuyển tiếp đến một địa chỉ khác. Câu trả lời sẽ giải thích lý do chuyển tiếp và chi tiết nơi thông điệp được chuyển tiếp. ƒ 4xx: Lỗi client: Lỗi client thể hiện sai cú pháp của request và server không thể xử lý request. ƒ 5xx: Lỗi server. Lỗi server thể hiện rằng yêu cầu đúng nhưng một lỗi đã xảy ra trên server và yêu cầu không thể được xử lý. Lý do được chỉ rõ trong thông điệp gửi client. ƒ 6xx: Lỗi chung. Lỗi xảy ra không ở phía client hoặc server mà có thể do mạng. Chi tiết một số mã như sau: 15 16 3.1.4. Field header: Field header chứa thông tin chi tiết về yêu cầu hoặc trả lời. Header có thể chứa thông tin nơi đến hoặc thôn tin định tuyến. Dạng của header như sau: header_ name: header_value Có thể có nhiều khoảng trắng giữa tên và giá trị của header nhưng khuyến cáo là chỉ nên có một khoảng trắng. ROUTE: ROUTE: Như trên có thể có nhiều tên header giống nhau trong một yêu cầu như tên header ROUTE. Khi header giống nhau này xuất hiện nhiều lần thứ tự không được chỉ rõ nhưng khuyến cáo rằng việc định tuyến nên được liệt kê đầu yêu cầu để cho proxy nhanh chóng xử lý thông điệp. 17
- Xem thêm -

Tài liệu liên quan