Multiple Core Session Initiation Protocol (SIP)
Abstract
A Session Initiation Protocol (SIP) proxy server including a multi-core central processing unit (CPU) is presented. The multi-core CPU includes a receiving core dedicated to pre-SIP message processing. The pre-SIP message processing may include message retrieval, header and payload parsing, and Call-ID hashing. The Call-ID hashing is used to determine a post-SIP processing core designated to process messages between particular user pair. The pre-SIP and post-SIP configuration allows for the use of multiple processing cores to utilize a single control plane, thereby providing an accurate topology of the network for each processing core.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for processing protocol messages, the method comprising:
given a plurality of different media sessions between users, for each of the media sessions, analyzing protocol messages at a receiving processor unit in order to determine an associated call identifier, wherein the call identifier uniquely identifies protocol messages associated with one of the media sessions, wherein for each media session, corresponding protocol messages are identified by a single respective call identifier; directing the protocol messages, based on the call identifier, to respective processing units from a plurality of processing units, the processing units configured to perform processing of the protocol messages.
2 . The method of claim 1 further comprising processing the protocol messages in respective processing units in a parallel manner, wherein for each media session, all the corresponding protocol messages are directed to a single respective processing unit.
3 . The method of claim 2 wherein each processing unit operates within a single control plane.
4 . The method of claim 3 wherein the single control plane is a private branch exchange (PBX), a SIP Media Gateway processor, or a SIP Proxy server.
5 . The method of claim 1 further comprising hashing the call identifier with a hash function at the receiving processor unit in order to determine a processing unit from the plurality of processing units.
6 . A hardware processing system comprising:
a receiving processor unit configured to receive a protocol message, the receiving processor unit further configured to direct the protocol message for processing based on a call identifier associated with the protocol message, wherein given a plurality of different media sessions between users, for each of the media sessions, the call identifier uniquely identifies protocol messages associated with one of the media sessions, wherein for each media session, corresponding protocol messages are identified by a single respective call identifier; and a plurality of processing units configured to perform processing of the protocol messages, a processing unit of the plurality of processing units configured to receive the protocol message based on the call identifier.
7 . The system of claim 6 wherein the processing units are configured to process incoming protocol messages in parallel, and wherein for each media session, all the corresponding protocol messages are received by a single respective processing unit.
8 . The system of claim 7 wherein each processing unit operates within a single control plane.
9 . The system of claim 8 wherein the single control plane is a private branch exchange, a SIP Media Gateway processor, or a SIP Proxy server.
10 . The system of claim 6 wherein the receiving processor unit includes a hash function configured to hash the call identifier to determine which processing unit of the plurality of processing units to send the protocol message.
11 . A non-transitory computer-readable medium storing instructions for processing a protocol message that, when executed by a computer, cause the computer to:
given a plurality of different media sessions between users, for each of the media sessions, analyze a protocol message sent to a receiving processor unit in order to determine an associated call identifier, wherein the call identifier uniquely identifies protocol messages associated with one of the media sessions, wherein for each media session, corresponding protocol messages are identified by a single respective call identifier; and direct the protocol messages, based on the call identifier, to respective processing units from a plurality of processing units configured to perform processing of the protocol messages.
12 . The non-transitory computer-readable medium of claim 11 further storing instructions that cause the computer to hash the call identifier with a hash function at the receiving processor unit in order to determine a processing unit from the plurality of processing units.
13 . The non-transitory computer-readable medium of claim 11 further storing instructions that cause the computer to process the protocol messages in respective processing units in a parallel manner, wherein for each media session, all the corresponding protocol messages are directed to a single respective processing unit.
14 . The non-transitory computer-readable medium of claim 13 wherein each processing unit operates within a single control plane.
15 . The non-transitory computer-readable medium of claim 14 wherein the single control plane is a private branch exchange, a SIP Media Gateway processor, or a SIP Proxy server.Join the waitlist — get patent alerts
Track US2014059241A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.