A Programmable Message Classification Engine for Session Initation Protocol (SIP)

Session Initiation Protocol (SIP) has begun to be widely deployed for multiple services such as VoIP, Instant Messaging and Presence. Each of these services uses different subsets of SIP messages, and depending on the value of a service, e.g. revenue, the associated messages may need to be prioritized accordingly. Even within the same service, different messages may be assigned different priorities. In this paper, we present the design and implementation of a programmable classification engine for SIP messages in the Linux kernel. This design uses a novel algorithm that in addition to classifying messages can extract and maintain state information across multiple messages. We apply the classifier for overload control using operator-specified rules for categorizing messages and associated actions, augmented with a protocol-level understanding of SIP message structure. When faced with loads beyond their capacity (e.g., during catastrophic situations and major network outages), SIP servers must drop messages from the input stream. It is therefore desirable that the server process high-value messages in preference to dropping lower-value messages. We evaluated our inkernel classifier implementation with a commonly-used open source SIP server (SER) for such an overload scenario. The workload consists of a mix of call setup and call handoff SIP messages and the classifier is programmed with rules that prioritize handoffs over call setups (reflecting typical message prioritization used by mobile service providers). We show that, while SER can process about 40K messages/sec (in a FIFO manner), our classifier can examine and prioritize about 105K messages/sec during overload. With the classifier operating at peak throughput, SER’s processing rate drops to about 31.6 K messages/sec, but it should be noted that the processed messages reflect as much of the high-value messages as available in the input stream.

By: Arup Acharya; Xiping Wang; Charles P. Wright

Published in: RC24022 in 2006


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to reports@us.ibm.com .