Packetizer
Communications

Legacy Signaling Systems

The use of JSON or XML in real-time multimedia communication systems has been slow to gain momentum prior to 2008 for a few reasons.

Perhaps the most significant reason is that existing systems were already deployed and used technologies defined before the time when JSON or XML rose to the level of popularity they enjoy today. Existing systems use various methods of encoding information, including both binary and text encoding formats. H.323, for example, utilizes an efficient binary encoding comprised of tightly encoded information elements defined in Q.931, as well as a block of binary data encoded using ASN.1 PER. While highly efficient, ASN.1 has not enjoyed same level of success in terms of open source tools and support in the world's leading development languages. SIP, on the other hand, uses a text-based encoding that is comprised of a tag-value pair. While relatively efficient in terms of space and processing, a number of interoperability issues have arisen due to the fact that the syntax defined for each header differs from one line to another. Further, since it was derived from HTTP, it carries a lot of "baggage" that is of little to value. Further interpretation of the standard differs from one implementer to another, leading to significant variance in what syntactic elements are and are not supported by various vendors. Additionally, SIP does not define the payload that might be carried, which means that the syntax for any payload (which is generally, but not necessarily SDP) has its own syntax and requires an entirely different parser. In short, much development effort is required to build a proper parser for a simple SIP message. Further, it is a parser that is useful only for SIP.

Another reason that JSON or XML has not been used for real-time multimedia systems up to this point is simply that they produce considerably larger messages than other encoding methods. However, as bandwidth and processing capacity is ever increasing, message size constraints are becoming less of an issue and will continue to decrease in importance as we go forward. Further, standard compression technologies, such as those offered through the zlib library or EXI, can significantly reduce the size of a message. More recently, the IETF has standardized CBOR to create binary-encoded messages that borrow concepts from JSON, making it possible to easily convert between a textual and binary representation of the popular format.

Lastly, JSON and XML did not exist when the H.323 and SIP protocols were originally developed back in 1995. Further, quality tools did not become available for some time after the first XML spec was published in 1998, which is why both protocols were somewhat slow to adopt any extensions specified in XML. If there is one thing that can certainly thwart any effort to try to get wide adoption for a given message encoding method, it is a lack of developer tools. Developers want to focus on the application at hand, not focus on the nuances of encoding messages in one of several different formats. In more recent years, efforts have been placed on JSON, though, as the syntax is relatively close to what machines use internally and there are some schema-like specifications in development.

With advances in technology, increases in bandwidth and processing power, and mass adoption of JSON and XML throughout the communications industry, these formats role will become increasingly more important for real-time multimedia systems.