Tôi hiểu nhiều chi tiết tốt về các cú gọi lỗ hổng NAT, ICE và SIP VOIP. Tôi đã trả lời khá nhiều câu hỏi về SO về các chủ đề này. Bây giờ tôi có một câu hỏi.Sự cần thiết cho SIP RE-INVITE liên quan đến ICE là gì?
Tôi đang cố gắng hiểu sự cần thiết của thông điệp RE-INVITE được ghi lại cho SIP + ICE sau khi cuộc gọi đã được thiết lập.
Giả sử cấu trúc liên kết của thiết bị VOIP tín hiệu qua SIP và sử dụng ICE (với STUN/TURN) để thiết lập kết nối phương tiện. Sau khi kiểm tra kết nối ICE được thực hiện, cả hai thiết bị đầu cuối phải xác định chắc chắn các cặp địa chỉ ứng cử viên tốt nhất (IP, cổng) và sẽ sẵn sàng truyền trực tuyến phương tiện theo cả hai hướng. Tuy nhiên, kinh nghiệm của tôi với SIP và nhiều tài liệu cho thấy rằng sau khi callee gửi thông báo 200 OK để cho biết anh ta đang ở trạng thái trả lời, người gọi được mong đợi gửi RE-INVITE với SDP chứa ứng cử viên địa chỉ cụ thể được chọn bằng cách kiểm tra kết nối.
Một số liên kết mô tả RE-INVITE với ICE là here và here (bước 8). Rosenberg's tutorial (trang 30) thảo luận rằng RE-INVITE "đảm bảo rằng các hộp trung gian có địa chỉ truyền thông chính xác". Tôi không chắc tại sao điều đó lại quan trọng.
Khi nhận được RE-INVITE, callee có phải định cấu hình lại ngăn xếp ICE của mình để chuyển đổi ổ cắm hoặc địa chỉ dựa trên SDP mới nhận được không? Hoặc là RE-INVITE chỉ là một hình thức giao thức để chính thức thừa nhận cuộc gọi đã được thiết lập? Nếu bước RE-INVITE bị bỏ qua và cả hai bên bắt đầu truyền phát trực tuyến, điều gì có thể xảy ra?
Lý do tôi hỏi là vì tôi đang khám phá sử dụng ICE qua dịch vụ báo hiệu không phải là SIP. Tôi đang cố gắng tìm hiểu xem RE-INVITE có cần được mô phỏng hay không.
Điều gì khiến người bỏ phiếu quan tâm giải thích tại sao anh ấy không thích câu hỏi này? – selbie