RFC 3261 definiert eine Reihe von Details, von denen viele optional sind. Hierfür werden die Schlüsselwörter „MUST“, „MUST NOT“, „REQUIRED“, „SHALL“, „SHALL NOT“, „SHOULD“, „SHOULD NOT“, „RECOMMENDED“, „NOT RECOMMENDED“, „MAY“, und „OPTIONAL“ gemäß RFC 2119 verwendet. Da beginnt bereits das Dilemma. Ein erheblicher Teil der Funktionen ist nicht mit „MUST“ oder „SHALL“, sondern mit „MAY“ oder „SHOULD“ gekennzeichnet.
Jeder Hersteller entscheidet dann selbst, was er unterstützt und was nicht. Leider werden aber in modernen Kommunikationssystemen viele dieser Optionen benötigt und daher vorausgesetzt. Deshalb ist es üblich, dies in ausführlichen Spezifikationen zu dokumentieren, die dann mit den Anforderungen der Gegenseite abzugleichen und gegebenenfalls anzupassen sind – alles andere als „Plug-and-Play“!
Zusätzlich zu SIP wird in Kommunikationsanwendungen eine Reihe weiterer Standards verwendet. Für die Telefonie sind das vor allem SDP (Session Description Protocol, RFC 4566) und RTP (Realtime Transport Protocol, RFC 3550). Verschlüsselung nach TLS (Transport Layer Security), SRTP (Secure Real-time Transport Protocol) und Faxübertragung (T.38) sind weitere wichtige Festlegungen. In jedem dieser Standards liegen zusätzliche Kompatibilitätsfallen verborgen.
Als Beispiel seien die verschiedenen Möglichkeiten zur Übertragung von DTMF-Tönen (Dual Tone Multi Frequency) und -Kommandos erwähnt:
Es wird schnell deutlich, dass selbst so grundsätzliche Funktionen oft nicht auf Anhieb zueinander passen.