SIP là một giao thức báo hiệu được thiết kế để tạo, sửa đổi và kết thúc một phiên đa phương tiện qua Giao thức Internet. Nó là một giao thức lớp ứng dụng kết hợp nhiều yếu tố của Giao thức truyền siêu văn bản (HTTP) và Giao thức truyền thư đơn giản (SMTP). Hướng dẫn này bao gồm hầu hết các chủ đề cần thiết để hiểu cơ bản về SIP và cảm nhận về cách nó hoạt động.
Hướng dẫn này đã được chuẩn bị cho các chuyên gia mong muốn tìm hiểu những điều cơ bản của SIP và thực hiện sự nghiệp trong thử nghiệm viễn thông.
Trước khi tiếp tục hướng dẫn này, bạn nên nắm rõ các khái niệm sơ bộ về mạng bao gồm một số giao thức cơ bản như TCP, UDP, HTTP, SMTP và VoIP.
Giao thức bắt đầu phiên – Giới thiệu
Giao thức khởi tạo phiên (SIP) là một trong những giao thức phổ biến nhất được sử dụng trong công nghệ VoIP. Nó là một giao thức lớp ứng dụng hoạt động cùng với các giao thức lớp ứng dụng khác để điều khiển các phiên truyền thông đa phương tiện qua Internet.
Công nghệ VoIP
Trước khi đi sâu hơn, trước tiên chúng ta hãy hiểu một vài điểm về VoIP.
- VOIP là công nghệ cho phép bạn truyền tải nội dung thoại và đa phương tiện (video, hình ảnh) qua Internet. Đó là một trong những cách rẻ nhất để giao tiếp mọi lúc, mọi nơi với sự sẵn có của Internet.
- Một số ưu điểm của VOIP bao gồm:
- Giá thấp
- Tính di động
- Không có thêm cáp
- Uyển chuyển
- Hội nghị truyền hình
Đối với cuộc gọi VOIP, tất cả những gì bạn cần là một máy tính / máy tính xách tay / điện thoại di động có kết nối internet. Hình sau mô tả cách một cuộc gọi VoIP diễn ra.
Với nhiều điều cơ bản này, chúng ta hãy quay lại với SIP.
SIP – Tổng quan
Dưới đây là một số điểm cần lưu ý về SIP –
- SIP là một giao thức báo hiệu được sử dụng để tạo, sửa đổi và kết thúc một phiên đa phương tiện qua Giao thức Internet. Một phiên không là gì ngoài một cuộc gọi đơn giản giữa hai điểm cuối. Điểm cuối có thể là điện thoại thông minh, máy tính xách tay hoặc bất kỳ thiết bị nào có thể nhận và gửi nội dung đa phương tiện qua Internet.
- SIP là một giao thức lớp ứng dụng được xác định theo tiêu chuẩn IETF (Internet Engineering Task Force). Nó được định nghĩa trong RFC 3261 .
- SIP thể hiện kiến trúc máy khách-máy chủ và việc sử dụng URL và URI từ HTTP và lược đồ mã hóa văn bản và kiểu tiêu đề từ SMTP .
- SIP nhờ sự trợ giúp của SDP (Giao thức mô tả phiên) mô tả một phiên và RTP (Giao thức truyền tải thời gian thực) được sử dụng để phân phối thoại và video qua mạng IP.
- SIP có thể được sử dụng cho các phiên hai bên (unicast) hoặc nhiều bên (đa hướng).
- Các ứng dụng SIP khác bao gồm truyền tệp, nhắn tin nhanh, hội nghị truyền hình, trò chơi trực tuyến và phân phối đa phương tiện hấp dẫn.
SIP phù hợp ở đâu?
Về cơ bản SIP là một giao thức lớp ứng dụng. Nó là một giao thức báo hiệu mạng đơn giản để tạo và kết thúc phiên với một hoặc nhiều người tham gia. Giao thức SIP được thiết kế để độc lập với giao thức truyền tải bên dưới, vì vậy các ứng dụng SIP có thể chạy trên TCP, UDP hoặc các giao thức mạng lớp thấp hơn khác. Hình minh họa sau đây mô tả nơi SIP phù hợp trong sơ đồ chung của mọi thứ:
Thông thường, giao thức SIP được sử dụng cho điện thoại internet và phân phối đa phương tiện giữa hai hoặc nhiều điểm cuối. Ví dụ: một người có thể bắt đầu cuộc gọi điện thoại cho người khác bằng SIP hoặc ai đó có thể tạo cuộc gọi hội nghị với nhiều người tham gia.
Giao thức SIP được thiết kế rất đơn giản, với một số lệnh giới hạn. Nó cũng dựa trên văn bản, vì vậy bất kỳ ai cũng có thể đọc một thông báo SIP được truyền giữa các điểm cuối trong một phiên SIP
SIP – Phần tử mạng
Có một số thực thể giúp SIP trong việc tạo mạng của nó. Trong SIP, mọi phần tử mạng được xác định bằng SIP URI (Định danh tài nguyên đồng nhất) giống như một địa chỉ. Sau đây là các phần tử mạng:
- Đại lý người dùng
- Máy chủ proxy
- Máy chủ đăng ký
- Máy chủ chuyển hướng
- Máy chủ vị trí
Đại lý người dùng
Nó là điểm cuối và là một trong những phần tử mạng quan trọng nhất của mạng SIP. Một điểm cuối có thể bắt đầu, sửa đổi hoặc kết thúc một phiên. Tác nhân người dùng là thiết bị hoặc phần tử mạng thông minh nhất của mạng SIP. Nó có thể là một chiếc điện thoại mềm, một chiếc điện thoại di động hoặc một chiếc máy tính xách tay.
Tác nhân người dùng được chia hợp lý thành hai phần –
- Khách hàng tác nhân người dùng (UAC) – Thực thể gửi yêu cầu và nhận phản hồi.
- Máy chủ tác nhân người dùng (UAS) – Thực thể nhận yêu cầu và gửi phản hồi.
SIP dựa trên kiến trúc máy khách-máy chủ trong đó điện thoại của người gọi hoạt động như một máy khách bắt đầu cuộc gọi và điện thoại của người gọi hoạt động như một máy chủ trả lời cuộc gọi.
Máy chủ proxy
Nó là phần tử mạng nhận yêu cầu từ tác nhân người dùng và chuyển tiếp nó đến người dùng khác.
- Về cơ bản, vai trò của một máy chủ proxy giống như một bộ định tuyến.
- Nó có một số thông minh để hiểu một yêu cầu SIP và gửi nó trước với sự trợ giúp của URI.
- Một máy chủ proxy nằm giữa hai tác nhân người dùng.
- Có thể có tối đa 70 máy chủ proxy giữa nguồn và đích.
Có hai loại máy chủ proxy –
- Máy chủ proxy không trạng thái – Nó chỉ đơn giản là chuyển tiếp tin nhắn nhận được. Loại máy chủ này không lưu trữ bất kỳ thông tin nào của một cuộc gọi hoặc một giao dịch.
- Máy chủ proxy trạng thái – Loại máy chủ proxy này theo dõi mọi yêu cầu và phản hồi nhận được và có thể sử dụng nó trong tương lai nếu được yêu cầu. Nó có thể truyền lại yêu cầu, nếu không có phản hồi từ phía bên kia kịp thời.
Máy chủ đăng ký
Máy chủ đăng ký chấp nhận yêu cầu đăng ký từ tác nhân người dùng. Nó giúp người dùng xác thực bản thân trong mạng. Nó lưu trữ URI và vị trí của người dùng trong cơ sở dữ liệu để trợ giúp các máy chủ SIP khác trong cùng một miền.
Hãy xem ví dụ sau đây cho thấy quy trình Đăng ký SIP.
Ở đây người gọi muốn đăng ký với miền TMC. Vì vậy, nó sẽ gửi một yêu cầu ĐĂNG KÝ đến máy chủ Nhà đăng ký của TMC và máy chủ trả về phản hồi 200 OK khi nó đã ủy quyền cho máy khách.
Máy chủ chuyển hướng
Máy chủ chuyển hướng nhận yêu cầu và tìm kiếm người nhận yêu cầu dự kiến trong cơ sở dữ liệu vị trí do nhà đăng ký tạo.
Máy chủ chuyển hướng sử dụng cơ sở dữ liệu để lấy thông tin vị trí và phản hồi bằng 3xx (Phản hồi chuyển hướng) cho người dùng. Chúng ta sẽ thảo luận về các mã phản hồi sau trong hướng dẫn này.
Máy chủ vị trí
Máy chủ định vị cung cấp thông tin về các vị trí có thể có của người gọi đến các máy chủ chuyển hướng và proxy.
Chỉ máy chủ proxy hoặc máy chủ chuyển hướng mới có thể liên hệ với máy chủ định vị. Hình dưới đây mô tả vai trò của từng phần tử mạng trong việc thiết lập một phiên.
SIP – Kiến trúc hệ thống
SIP được cấu trúc như một giao thức phân lớp, có nghĩa là hành vi của nó được mô tả dưới dạng một tập hợp các giai đoạn xử lý khá độc lập với chỉ một khớp nối lỏng lẻo giữa mỗi giai đoạn
- Tầng thấp nhất của SIP là cú pháp và mã hóa của nó . Mã hóa của nó được chỉ định bằng ngữ pháp Biểu mẫu Backus-Naur tăng cường (BNF).
- Ở cấp độ thứ hai là tầng vận chuyển . Nó xác định cách Máy khách gửi yêu cầu và nhận phản hồi cũng như cách Máy chủ nhận yêu cầu và gửi phản hồi qua mạng. Tất cả các phần tử SIP đều chứa một lớp truyền tải.
- Tiếp theo là đến lớp giao dịch . Giao dịch là một yêu cầu được gửi bởi một giao dịch Khách hàng (sử dụng lớp truyền tải) đến một giao dịch Máy chủ, cùng với tất cả các phản hồi cho yêu cầu đó được gửi từ giao dịch máy chủ trở lại khách hàng. Bất kỳ tác vụ nào mà máy khách tác nhân người dùng (UAC) hoàn thành đều diễn ra bằng cách sử dụng một loạt các giao dịch. Các proxy không trạng thái không chứa lớp giao dịch.
- Lớp phía trên lớp giao dịch được gọi là người dùng giao dịch. Mỗi thực thể SIP, ngoại trừ proxy không trạng thái , là một người dùng giao dịch.