Stimm schon, SIP ist für die Signalisierung und hat nichts (direkt) mit RTP zu tun.
Der einzige Vorteil, den TCP hat, ist die NAT-Sache. Das mit dem Packetverlust und Packetvertauschungen ist aus Halbwissen entstandender Blödsinn. Es stimmt, dass bei UDP die Übertragung nicht gesichert ist. Ein SIP-Stack behandelt aber die Sicherung, wenn SIP über UDP geht: Gegen Verlust gibt es Packet-Resend und gegen Vertauschungen und Verdoppelungen gibt es die CSeq in den SIP-Nachrichten. Die Mechanismen sind bei SIP wesentlich effektiver gelöst als bei TCP. Wenn in einem TCP-Strom ein Schicht-2-Packet zweimal oder gar dreimal verloren geht, sind die Timeouts schon so unangenehm hoch, dass man die Signalisierung in die Tonne treten kann.
Schulzrinne und Co haben sich schon was dabei gedacht, SIP über UDP zu schicken. TCP kam eigentlich erst wegen TLS ins Gespräch. Und wegen NAT.
Zum Thema eine halbe Stunde weiterklingeln: Das kann nur passieren, wenn die andere Seite abstürzt, fehlerhaft implementiert ist oder der Link total verschunden ist. Und in den Fällen hilft weder TCP noch SIP. Dann würde nur ein schneller Heartbeat helfen, der dann aber wieder bei Packetverlust Fehlalarme auslösen würde...