Der aktuelle SIP-Standard RFC 3261 sagt es eindeutig: „All SIP elements MUST implement UDP (User Datagram Protocol) and TCP (Transmission Control Protocol).“ Viele Hersteller ignorieren das aber nach wie vor und unterstützen lediglich UDP, behaupten aber, zu RFC 3261 kompatibel zu sein. UDP basiert auf Datagrammen, für die keine Garantie übernommen wird, dass sie in korrekter Reihenfolge beziehungsweise überhaupt ankommen. Deshalb muss über Timer und Wiederholungen auf Anwendungsebene der korrekte Ablauf sichergestellt werden.
In manchen Bereichen, wie zum Beispiel bei den vorläufigen Meldungen (provisional responses), die für die rechtzeitige Durchschaltung der Sprachverbindung wichtig sind, und die keine Antwort erfordern, mussten deshalb zusätzliche Quittungsmechanismen erfunden werden wie zum Beispiel PRACK (Provisional Response Acknowledgement). Sie dienen lediglich dazu, den Verlust solcher Meldungen zu erkennen und zu behandeln. Viele dieser Probleme würden durch die Verwendung von TCP von vornherein vermieden werden.
Ein weiteres Problem bei UDP ist die zunehmende Größe von SIP-Nachrichten, die eine Fragmentierung der übertragenen Pakete verursacht. Viele Implementationen unterstützen dies jedoch nicht, was zu einer weiteren Inkompatibilität führt.