Phản hồi SIP là một thông báo được tạo bởi máy chủ tác nhân người dùng (UAS) hoặc máy chủ SIP để trả lời một yêu cầu do máy khách tạo ra. Nó có thể là một xác nhận chính thức để ngăn chặn việc UAC truyền lại các yêu cầu.
- Một phản hồi có thể chứa một số trường tiêu đề bổ sung của thông tin mà UAC cần.
- SIP có sáu câu trả lời.
- 1xx đến 5xx đã được mượn từ HTTP và 6xx được giới thiệu trong SIP.
- 1xx được coi là phản hồi tạm thời và phần còn lại là phản hồi cuối cùng .
Không. | Mô tả chức năng |
1 | 1xx: Phản hồi tạm thời / cung cấp thông tin Phản hồi thông tin được sử dụng để chỉ ra tiến trình cuộc gọi . Thông thường, các câu trả lời đều có kết thúc (ngoại trừ 100 Đang thử). |
2 | 2xx: Phản hồi thành công Loại phản hồi này có nghĩa là chỉ ra rằng một yêu cầu đã được chấp nhận. |
3 | 3xx: Phản hồi chuyển hướng Nói chung, các phản hồi của lớp này được gửi bởi các máy chủ chuyển hướng để phản hồi lại INVITE. Chúng còn được gọi là phản hồi của lớp chuyển hướng. |
4 | 4xx: Phản hồi lỗi của máy khách Phản hồi lỗi của máy khách cho thấy rằng yêu cầu không thể được thực hiện vì một số lỗi được xác định từ phía UAC. |
5 | 5xx: Phản hồi lỗi máy chủ Phản hồi lớp này được sử dụng để chỉ ra rằng yêu cầu không thể được xử lý do lỗi với máy chủ. |
6 | 6xx: Phản hồi lỗi toàn cầu Lớp phản hồi này chỉ ra rằng máy chủ biết rằng yêu cầu sẽ không thành công ở bất kỳ nơi nào nó được thử. Do đó, yêu cầu sẽ không được gửi đến các vị trí khác. |
SIP – Tiêu đề
Tiêu đề là một thành phần của bản tin SIP truyền tải thông tin về bản tin. Nó được cấu trúc như một chuỗi các trường tiêu đề.
Các trường tiêu đề SIP trong hầu hết các trường hợp tuân theo các quy tắc tương tự như các trường tiêu đề HTTP. Trường tiêu đề được định nghĩa là trường Header:, trong đó Header được sử dụng để đại diện cho tên trường tiêu đề và trường là tập hợp các mã thông báo chứa thông tin. Mỗi trường bao gồm tên trường theo sau là dấu hai chấm (“:”) và giá trị trường (tức là tên trường: giá trị trường ).
Tiêu đề SIP – Dạng nhỏ gọn
Nhiều trường tiêu đề SIP phổ biến có dạng nhỏ gọn trong đó tên trường tiêu đề được biểu thị bằng một ký tự chữ thường. Một số ví dụ được đưa ra dưới đây
Tiêu đề | Dạng nhỏ gọn |
Đến | T |
Thông qua | V |
Id cuộc gọi | Tôi |
Tiếp xúc | M |
Từ | F |
Môn học | S |
Thời lượng nội dung | Tôi |
Định dạng tiêu đề SIP
Hình ảnh sau đây cho thấy cấu trúc của tiêu đề SIP điển hình.
Tiêu đề được phân loại như sau tùy thuộc vào cách sử dụng của chúng trong SIP –
- Yêu cầu và phản hồi
- Chỉ yêu cầu
- Chỉ phản hồi
- Nội dung Thư
SIP – Giao thức mô tả phiên
SDP là viết tắt của Session Description Protocol. Nó được sử dụng để mô tả các phiên đa phương tiện ở một định dạng mà những người tham gia hiểu được qua mạng. Tùy thuộc vào mô tả này, một bên quyết định có nên tham gia hội nghị hay không hoặc khi nào hoặc cách thức tham gia hội nghị.
- Chủ sở hữu của một hội nghị quảng cáo nó qua mạng bằng cách gửi các tin nhắn đa hướng trong đó có mô tả về phiên họp, ví dụ như tên của chủ sở hữu, tên của phiên họp, mã hóa, thời gian, v.v. Tùy thuộc vào thông tin này, người nhận quảng cáo đưa ra quyết định về việc tham gia phiên họp.
- SDP thường được chứa trong phần nội dung của Giao thức Khởi tạo Phiên thường được gọi là SIP.
- SDP được định nghĩa trong RFC 2327. Thông báo SDP bao gồm một loạt các dòng, được gọi là các trường, có tên được viết tắt bằng một chữ cái thường duy nhất và theo thứ tự bắt buộc để đơn giản hóa việc phân tích cú pháp.
Mục đích của SDP
Mục đích của SDP là truyền tải thông tin về các luồng phương tiện trong các phiên đa phương tiện để giúp người tham gia tham gia hoặc thu thập thông tin của một phiên cụ thể.
- SDP là một mô tả dạng văn bản có cấu trúc ngắn.
- Nó truyền đạt tên và mục đích của phiên, phương tiện, giao thức, định dạng codec, thời gian và thông tin truyền tải.
- Người tham gia dự kiến sẽ kiểm tra những thông tin này và quyết định có tham gia một phiên hay không và cách thức và thời điểm tham gia một phiên nếu họ quyết định làm như vậy.
- Định dạng có các mục nhập ở dạng <type> = <value>, trong đó <type> xác định một tham số phiên duy nhất và <value> cung cấp một giá trị cụ thể cho tham số đó.
- Hình thức chung của một thông điệp SDP là –
x = tham số1 tham số2 … tham sốN
- Dòng bắt đầu bằng một chữ thường, ví dụ: x. Không bao giờ có bất kỳ khoảng cách nào giữa chữ cái và dấu =, và có chính xác một khoảng cách giữa mỗi tham số. Mỗi trường có một số tham số xác định.
Tham số mô tả phiên
Mô tả phiên (* biểu thị tùy chọn)
- v = (phiên bản giao thức)
- o = (chủ sở hữu / người tạo và mã định danh phiên)
- s = (tên phiên)
- i = * (thông tin phiên)
- u = * (URI của mô tả)
- e = * (địa chỉ email)
- p = * (số điện thoại)
- c = * (thông tin kết nối – không bắt buộc nếu có trong tất cả các phương tiện)
- b = * (thông tin băng thông)
- z = * (điều chỉnh múi giờ)
- k = * (khóa mã hóa)
- a = * (không hoặc nhiều dòng thuộc tính phiên)
Phiên bản giao thức
Trường v = chứa số phiên bản SDP. Vì phiên bản hiện tại của SDP là 0, một thông báo SDP hợp lệ sẽ luôn bắt đầu bằng v = 0.
Gốc
Trường o = chứa thông tin về người khởi tạo phiên và số nhận dạng phiên. Trường này được sử dụng để xác định duy nhất phiên.
- Trường chứa –
o = <tên người dùng> <session-id> <version> <network-type> <address-type>
- Các tên tham số chứa đăng nhập hoặc máy chủ của người khởi tạo.
- Các phiên id tham số là một Network Time Protocol (NTP) timestamp hoặc một số ngẫu nhiên dùng để đảm bảo tính độc đáo.
- Các phiên bản là một lĩnh vực số đó được tăng lên cho mỗi thay đổi để phiên giao dịch, cũng nên để được một dấu thời gian NTP.
- Loại mạng luôn IN cho Internet. Tham số kiểu địa chỉ là IP4 hoặc IP6 cho địa chỉ IPv4 hoặc IPv6 ở dạng thập phân có dấu chấm hoặc tên máy chủ đủ điều kiện.
Tên phiên và thông tin
Trường s = chứa tên cho phiên. Nó có thể chứa bất kỳ số ký tự khác không. Trường i = tùy chọn chứa thông tin về phiên. Nó có thể chứa bất kỳ số ký tự nào.
GHÉT
Trường u = tùy chọn chứa chỉ báo tài nguyên thống nhất (URI) với nhiều thông tin hơn về phiên
Địa chỉ e-mail và số điện thoại
Trường e = tùy chọn chứa địa chỉ e-mail của máy chủ của phiên. Trường p = tùy chọn chứa một số điện thoại.
Dữ liệu kết nối
Trường c = chứa thông tin về kết nối phương tiện.
- Trường chứa –
c = <network-type> <address-type> <connection-address>
- Các mạng kiểu tham số được định nghĩa là TRÊN cho Internet.
- Kiểu địa chỉ được định nghĩa là IP4 cho địa chỉ IPv4 và IP6 cho địa chỉ IPv6.
- Các kết nối địa chỉ là địa chỉ IP hoặc host mà sẽ gửi các gói dữ liệu truyền thông, mà có thể là một trong hai multicast hoặc unicast.
- Nếu phát đa hướng, trường địa chỉ kết nối chứa:
connection-address = base-multicast-address / ttl / number-of-address
trong đó ttl là giá trị thời gian tồn tại và số địa chỉ cho biết có bao nhiêu địa chỉ phát đa hướng liền kề được bao gồm bắt đầu bằng địa chỉ đa hướng cơ sở.
Băng thông
Trường b = tùy chọn chứa thông tin về băng thông được yêu cầu. Nó có dạng –
b = modifier: băng thông – giá trị
Thời gian, Thời gian lặp lại và Múi giờ
Trường t = chứa thời gian bắt đầu và thời gian dừng của phiên.
t = thời gian bắt đầu dừng lại
Trường r = tùy chọn chứa thông tin về thời gian lặp lại có thể được chỉ định trong NTP hoặc theo ngày ( d ), giờ ( h ) hoặc phút ( m ).
Trường z = tùy chọn chứa thông tin về chênh lệch múi giờ. Trường này được sử dụng nếu phiên đang diễn ra kéo dài sự thay đổi từ tiết kiệm ánh sáng ban ngày sang giờ chuẩn hoặc ngược lại.
Thông báo truyền thông
Trường m = tùy chọn chứa thông tin về loại phiên phương tiện. Trường chứa –
m = định dạng-danh sách vận chuyển cổng phương tiện
- Tham số phương tiện là âm thanh, video, văn bản, ứng dụng, tin nhắn, hình ảnh hoặc điều khiển. Tham số cổng chứa số cổng.
- Tham số truyền tải chứa giao thức truyền tải hoặc cấu hình RTP được sử dụng.
- Danh sách định dạng chứa thêm thông tin về phương tiện. Thông thường, nó chứa các loại tải trọng phương tiện được xác định trong cấu hình video âm thanh RTP.
Example:
m = audio 49430 RTP/AVP 0 6 8 99
Một trong ba codec này có thể được sử dụng cho phiên phương tiện âm thanh. Nếu mục đích là thiết lập ba kênh âm thanh, ba trường phương tiện riêng biệt sẽ được sử dụng.
Thuộc tính
Trường a = tùy chọn chứa các thuộc tính của phiên phương tiện trước đó. Trường này có thể được sử dụng để mở rộng SDP nhằm cung cấp thêm thông tin về phương tiện . Nếu người dùng SDP không hiểu đầy đủ, trường thuộc tính có thể bị bỏ qua. Có thể có một hoặc nhiều trường thuộc tính cho mỗi loại tải trọng phương tiện được liệt kê trong trường phương tiện.
Các thuộc tính trong SDP có thể là
- cấp độ phiên, hoặc
- mức độ phương tiện.
Cấp độ phiên có nghĩa là thuộc tính được liệt kê trước dòng phương tiện đầu tiên trong SDP. Nếu đúng như vậy, thuộc tính sẽ áp dụng cho tất cả các dòng phương tiện bên dưới nó.
Mức phương tiện có nghĩa là nó được liệt kê sau một dòng phương tiện. Trong trường hợp này, thuộc tính chỉ áp dụng cho luồng phương tiện cụ thể này.
SDP có thể bao gồm cả thuộc tính cấp phiên và cấp phương tiện. Nếu cùng một thuộc tính xuất hiện như cả hai, thuộc tính cấp phương tiện sẽ ghi đè thuộc tính cấp phiên cho luồng phương tiện cụ thể đó. Lưu ý rằng trường dữ liệu kết nối cũng có thể là cấp phiên hoặc cấp phương tiện.
Ví dụ về SDP
Dưới đây là mô tả phiên ví dụ, được lấy từ RFC 2327 –
v = 0
o = mhandley2890844526 2890842807 IN IP4 126.16.64.4
s = SDP Seminar
i = A Seminar on the session description protocol
u = http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
e = mjh@isi.edu(Mark Handley)
c = IN IP4 224.2.17.12/127
t = 2873397496 2873404696
a = recvonly
m = audio 49170 RTP/AVP 0
m = video 51372 RTP/AVP 31
m = application 32416udp wb
a = orient:portrait