Signaling Compression (SigComp) is a standards based solution to compress request-response based protocols. This presentation talks about using SigComp to compress SIP messages.
3. What is SigComp?
●A Solution to compress application protocols
●Applied on any request - response type
application
○Eg. SIP, RTSP etc.
●Independent of compression algorithm
●Defined in RFC 3320
4. Why SigComp?
●Protocols like SIP are text based
●Engineered for bandwidth rich link
●Transmission delay is significant
○Increases call setup time
●Bandwidth savings is not a main goal
10. States
●A State is a plain string
○Can be uniquely identified by a state identifier
●Statically Created
○SIP/SDP Static Dictionary (RFC 3485)
○Presence Static Dictionary (RFC 5119)
●Dynamically Created
○Created dynamically during compression
14. Compressor Dispatcher
●Interfaces with application
○Compress a message
○Close a compartment
●Accepts message & Compartment ID from
application
●Invokes appropriate Compressor
●Receives compressed message from
Compressor
●Performs "byte stuffing" if required
●Sends the compressed message
15. Decompressor Dispatcher
●Interfaces with application
○Returns decompressed message
○Accept compartment ID to save states
●Receives compressed message from network
●Removes "byte stuffing" if required
●Invokes a single instance of UDVM per
message
●Receives the decompressed message from
UDVM
17. State Handler
●Compartment maintenance
○Create compartment
○Add/Delete state to/from compartment
○Add/Access requested feedback in a compartment
●State maintenance
○Access state given state identifier
18. UDVM
●Virtual Machine to run SigComp bytecode
●Designed solely for the purpose of running
decompression algorithms
19. Negative Acknowledgment for
SigComp
●Version 2.0 of SigComp
●Handle decompression failure
○Generate NACK on decompression failure
○NACK carries all the failure details to correct the
compartment
●Make adjustments to compartment on receipt of
NACK
●Defined in RFC 4077
20. SigComp for SIP
●Defined in RFC 3486 & 5049
●Demultiplex SigComp & SIP message
○First 5 bits of SigComp message is '11111'
●Mechanism for SIP entity to report its
willingness to support SigComp
●SigComp requirements for a SIP entity
23. When to Compress?
●Route target has 'comp=sigcomp' parameter
○For response, Via header is route target
○For request, Route header or Request URI is route
target
●'comp=sigcomp' is just a request to accept
SigComp message
○For eg. We do not compress messages towards
core network side even if the route target has
'comp=sigcomp'
24. Willingness to support SigComp
●Add 'comp=sigcomp' parameter in Via header
●Add 'comp=sigcomp' parameter in Record-
Route
●An OPTIONS request send to proxy should
return 200 ok with 'comp=sigcomp' in Contact
header