RFC Errata
RFC 4235, "An INVITE-Initiated Dialog Event Package for the Session Initiation Protocol (SIP)", November 2005
Note: This RFC has been updated by RFC 7463, RFC 8996
Source of RFC: sipping (rai)
Errata ID: 2861
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT
Reported By: Martin Thomson
Date Reported: 2011-07-13
Held for Document Update by: Gonzalo Camarillo
Section 4.4 says:
<xs:element name="state"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string">
It should say:
<xs:element name="state"> <xs:complexType> <xs:simpleContent> <xs:extension base="tns:dialog-state"> ... <xs:simpleType name="dialog-state"> <xs:restriction base="xs:string"> <xs:enumeration value="trying"/> <xs:enumeration value="proceeding"/> <xs:enumeration value="early"/> <xs:enumeration value="confirmed"/> <xs:enumeration value="terminated"/> </xs:restriction> </xs:simpleType>
Notes:
The RFC is rather coy about defining the exact syntax for the state element. The schema permits any content. It's fairly clear from the description in Section 3.7.1 what the permitted values are, but the case of the values is never explicitly stated. The text and diagram use title case consistently, and all the examples use lower case exclusively.
This is bad for interoperability. In practice, this is probably moot, since most implementations will use the lowercase form. Arguably, it would be valid to produce a value of "Early". An implementation seeking maximum interoperability would have to use case insensitive comparison to avoid a misinterpretation of the value.