Cuộc gọi thoại qua IP nhạy cảm với một yếu tố hơn tất cả: độ trễ (latency). Chỉ cần độ trễ 200ms và cuộc hội thoại của bạn biến thành cảnh lúng túng — hai người liên tục nói chồng lên nhau. Đó là lý do việc chọn đúng proxy cho lưu lượng SIP quan trọng hơn hầu hết mọi use case khác.
Vì sao proxy thông thường không hoạt động
Cuộc gọi SIP bao gồm hai luồng riêng biệt. SIP signaling (thiết lập cuộc gọi, đổ chuông, ngắt máy) đi qua TCP hoặc UDP trên cổng 5060. Giọng nói thực tế — âm thanh bạn nghe — truyền dưới dạng các gói RTP qua UDP trên các cổng được gán động.
HTTP hoặc HTTPS proxy xử lý lưu lượng web. Nó không hiểu UDP và không thể chuyển tiếp các gói thoại. Nếu bạn cố định tuyến softphone VoIP như Zoiper hay Linphone qua HTTP proxy, signaling có thể hoạt động một phần, nhưng sẽ không có âm thanh. Cuộc gọi kết nối trên danh nghĩa nhưng hoàn toàn im lặng.
Cho các cuộc gọi SIP, bạn cần một SIP proxy server hỗ trợ SOCKS5 với UDP relay. Giao thức này tunnel cả signaling lẫn luồng giọng nói qua proxy, giữ toàn bộ cuộc gọi nguyên vẹn.
Những gì SOCKS5 với UDP relay thực sự làm
Khi softphone hoặc PBX của bạn — dù là Asterisk, FreePBX hay ứng dụng desktop như Zoiper — kết nối qua proxy SOCKS5 có hỗ trợ UDP, proxy sẽ xử lý cả hai tầng:
- SIP signaling: INVITE, ACK, BYE — tất cả các thông điệp thiết lập và kết thúc cuộc gọi
- RTP media: các gói âm thanh thực tế truyền theo hai hướng
Proxy còn giải quyết các vấn đề NAT. SIP được thiết kế cho giao tiếp ngang hàng trực tiếp và nhúng các địa chỉ IP riêng vào thông điệp signaling. Phía sau NAT, những địa chỉ này không thể truy cập từ bên ngoài. Một SIP outbound proxy viết lại kết nối để cả hai phía có thể trao đổi âm thanh bình thường — không cần STUN server, không cần các quy tắc firewall phức tạp.
Những trường hợp cần thiết
Các tổng đài hoạt động xuyên biên giới là trường hợp phổ biến nhất. Agent của bạn đặt tại một nước, số điện thoại và SIP trunk của bạn nằm tại nước khác. Định tuyến cuộc gọi qua proxy tại khu vực của số điện thoại giúp giữ latency thấp và khiến lưu lượng trông như lưu lượng nội địa đối với nhà cung cấp.
Doanh nghiệp vận hành nhiều SIP trunk đôi khi cần IP riêng cho từng trunk — nhà cung cấp theo dõi IP nào kết nối đến hệ thống của họ, và việc dùng chung một địa chỉ cho nhiều trunk có thể kích hoạt cảnh báo gian lận. Một dedicated proxy cho mỗi trunk giúp mọi thứ luôn sạch sẽ.
Chặn VoIP là một trường hợp khác. Một số mạng và quốc gia throttle hoặc chặn hoàn toàn lưu lượng SIP. Định tuyến qua proxy tại một vị trí không bị hạn chế sẽ bypass được điều này — mạng chỉ thấy lưu lượng mã hóa thông thường thay vì các gói SIP.
Những yếu tố cần xét khi chọn proxy cho cuộc gọi VoIP
Độ trễ là yếu tố quan trọng nhất. Với web scraping, 500ms mỗi request là chấp nhận được. Nhưng với cuộc gọi điện thoại, bất kỳ độ trễ một chiều nào vượt quá 150ms đều cảm nhận được rõ. Proxy Datacenter chiến thắng trong trường hợp này — chúng đặt tại các trung tâm dữ liệu với đường truyền trực tiếp và số hop tối thiểu. Proxy residential hoặc mobile thêm các điểm chuyển tiếp, làm tăng độ trễ.
Sự ổn định cũng quan trọng không kém. Một proxy bị mất kết nối trong nửa giây khi đang scrape thì không vấn đề gì — script sẽ thử lại. Nhưng giữa cuộc gọi, đó là một cuộc gọi bị ngắt. Static IP trên hạ tầng đáng tin cậy giúp ngăn chặn điều này.
FineProxy cung cấp SOCKS5 đầy đủ với UDP relay — cả signaling lẫn giọng nói đều đi qua một kết nối duy nhất. Hạ tầng Datacenter đảm bảo độ trễ thấp, còn Static IP giữ nguyên suốt thời gian thuê proxy. Cho các cài đặt cần mã hóa trên tầng signaling, HTTPS proxy của chúng tôi với chứng chỉ SSL riêng cho từng IP sẽ xử lý vấn đề này.