Systems and methods are provided for compressing and decompressing session
initiation protocol (SIP) messages. A serializer and parser compress and
decode SIP data structures according to a tokenized binary protocol. The
compression/decompression protocol uses tokens the represent message
elements of the internal data structures that define SIP messages. Tokens
may be assigned to message elements based on various design requirements.
Some tokens provide sufficient generality to encode any legal SIP
message, while others are highly optimized to match the elements found in
most common SIP messages. For those elements requiring specific strings,
three dictionaries are defined. Two of the dictionaries are static and
are never transmitted; the third dictionary is dynamic and contains
strings found only in the specific message. Because the message
dictionary is transmitted with each message, and contributes to the size
of the transmitted message, the message element tokens are designed to
reduce the size of the message dictionary to the greatest degree
possible. The compression of SIP messages in this manner is stateless in
that it does not require knowledge of the characteristics of previous
messages.