Если сервер за firewall'ом, то не очень-то получится.
Alekz:
чем TCP, как протокол помог бы?
Проблема была бы сразу видна на поверхности. С UDP так не получится, т.к. он не требует подтверждения доставки.
Если интересует сама тема TCP vs UDP для SIP, то могли бы искать сами.
Вот интересная ссылка для изучения: http://tools.ietf.org/html/draft-rosenberg-sip-sctp-00
В частности там говорится, что SIP over UDP не эффективен для управления нагрузкой.
SIP over TCP обеспечивает сквозную защиту путей передачи посредством протокола безопасности транспортного уровня (Transport Layer Security, TLS) и поддержку более крупных пакетов с данными (из какой-то статьи о Microsoft).
Alekz:
Про сообщение, по которому биллингуется вызов, я заговорил потому, что без ОК на BYE вызов будет биллинговаться дальше, даже если сигнализацию заблокировали на UA. Соответственно "бесплатных" разговоров не будет.
Биллинг рано или поздно перестанет биллинговать, т.к. у него есть встроенные ограничения.
Биллинг обычно работает по Radius-протоколу, который не знает ни о каких BYE и OK.
Если упал sip proxy, то биллинг не поможет -- sip proxy уже не будет помнить о сессиях.
Вариантов можно массу найти.
Решение в данном случае одно -- проксирование RTP.
SIP vs H323 я здесь разводить не буду, если угодно -- в ICQ.