Giao thức tạo phiên SIP (SIP Protocol) hoạt động dựa trên việc trao đổi tin nhắn yêu cầu và phản hồi giữa máy trạm và máy chủ để thiết lập các phiên giao tiếp.
Các bước thiết lập giao thức SIP
Bước 1: Đăng ký người dùng
Thiết bị đầu cuối (chẳng hạn như điện thoại IP hoặc điện thoại mềm) gửi yêu cầu REGISTER đến máy chủ SIP (Registrar) để đăng ký địa chỉ IP và danh tính của thiết bị.
Máy chủ ghi lại địa chỉ của thiết bị để định tuyến cuộc gọi SIP trong tương lai.
Bước 2: Thiết lập cuộc gọi
Người gọi gửi yêu cầu INVITE đến máy chủ proxy SIP, chứa thông tin của người gọi và người được gọi, cùng với các tham số phương tiện (chẳng hạn như chi tiết codec).
Người được gọi xác nhận đã nhận được INVITE và trả lời bằng 100 Đang thử (đang xử lý).
Thiết bị của người được gọi đổ chuông và gửi phản hồi 180 Đang đổ chuông.
Khi người được gọi trả lời, phản hồi 200 OK sẽ được gửi, xác nhận chấp nhận cuộc gọi và cung cấp thông tin chi tiết về phương tiện.
Người gọi trả lời bằng ACK, xác nhận kết nối thành công và cuộc gọi được thiết lập.
Bước 3: Truyền nội dung
Bản thân SIP không truyền dữ liệu âm thanh hoặc video; luồng phương tiện thường được xử lý bởi RTP (Giao thức truyền tải thời gian thực).
SIP sử dụng SDP (Giao thức mô tả phiên) để thương lượng các chi tiết phương tiện, chẳng hạn như địa chỉ IP, cổng và codec.
Bước 4: Kết thúc cuộc gọi
Khi một trong hai bên muốn kết thúc cuộc gọi, yêu cầu BYE được gửi đi và bên kia trả lời bằng 200 OK, kết thúc phiên.
Dưới đây là toàn bộ quy trình của Cuộc gọi SIP:
Các mã lệnh trong SIP
ACK: Xác nhận đã nhận được yêu cầu trước đó.
100 Trying: Chỉ ra rằng yêu cầu đã được nhận và quá trình xử lý vẫn đang tiếp tục. Đây là phản hồi tạm thời, nghĩa là quá trình vẫn đang diễn ra.
100 Ringing: Được gửi khi điện thoại của bên được gọi đang đổ chuông, nhưng cuộc gọi vẫn chưa được trả lời. Đây là một phản hồi tạm thời khác.
200 OK: Điều này có nghĩa là yêu cầu đã thành công và cuộc gọi đã được chấp nhận. Để phản hồi cho yêu cầu INVITE, điều này chỉ ra rằng cuộc gọi đang được thiết lập.
202 Accepted: Chỉ ra rằng yêu cầu đã được chấp nhận để xử lý, nhưng quá trình xử lý vẫn chưa hoàn tất. Đây giống một xác nhận hơn là kết quả ngay lập tức.
403 Forbidden: Máy chủ đã hiểu yêu cầu nhưng từ chối cho phép. Điều này có thể xảy ra nếu máy khách không có đủ quyền hoặc thông tin xác thực cần thiết.
404 Not Found: Phản hồi này có nghĩa là máy chủ không tìm thấy tài nguyên được yêu cầu, thường chỉ ra rằng URI được yêu cầu không hợp lệ.
407 Proxy Authentication Required: Máy khách cần xác thực chính nó với máy chủ proxy. Máy chủ đang yêu cầu thông tin xác thực trước khi yêu cầu có thể tiếp tục.