Source: https://patents.google.com/patent/JP2002185541A/en
Timestamp: 2020-05-29 10:08:32
Document Index: 110124229

Matched Legal Cases: ['arty 100', 'arty 200', 'arty 100', 'arty 100', 'arty 200', 'arty 100']

JP2002185541A - Message processing method in gate keeper of internet protocol network - Google Patents
Message processing method in gate keeper of internet protocol network
JP2002185541A
JP2002185541A JP2001326187A JP2001326187A JP2002185541A JP 2002185541 A JP2002185541 A JP 2002185541A JP 2001326187 A JP2001326187 A JP 2001326187A JP 2001326187 A JP2001326187 A JP 2001326187A JP 2002185541 A JP2002185541 A JP 2002185541A
JP3888615B2 (en
2001-10-24 Application filed by Hewlett Packard Co <Hp>, ヒューレット・パッカード・カンパニー filed Critical Hewlett Packard Co <Hp>
(57) [Problem] To propose a message processing method in a gatekeeper system that improves the capacity of the gatekeeper system. A method for processing a message arriving at a gatekeeper system of an internet protocol network, the gatekeeper system including a plurality of sub-processes each capable of processing a series of such messages, The method includes the step of dispatching a message arriving at a gatekeeper system to a separate sub-process, identifying whether the message belongs to the same call as a previous message and, if so, to Comprising sending the message to the same sub-process to which the previous message was sent.
The present invention relates to protocol networks (IP networks), and more particularly to holding audio conferences on such networks.
2. Description of the Related Art An international standard called H323 has been developed for holding a conference on an IP network. This standard not only allows various Internet telephony products to interoperate, but also interoperates between ISDN (Digital Integrated Services Network) and telephony-based conferencing systems. The purpose is.
[0003] The basic H323 configuration of the network comprises two endpoints 100 and 200 and a gatekeeper 300, such as two IP phones, as shown in FIG. Gatekeeper 300 is typically part of an Internet protocol network, designated by the reference numeral 400 in the figure.
The gate keeper 300 has two end points 100.
And 200 are the core components of the network that enable calls to be established. In the routing mode, if the endpoint 100 requests a call establishment, it sends an initial authorization request to the gatekeeper 300. The request includes, for example, a conference identifier that uniquely identifies the call,
It also contains the identifiers of the calling and called parties.
[0005] The gatekeeper 300 checks whether a call can be established between the calling party 100 and the called party 200 (for example, the calling party 100 may be entitled to a paid communication time right). That the callee is still available or that the called party is currently free). This check is performed based on the data included in the message and the background data included in the gatekeeper.
If the gatekeeper 300 approves the call, it sends an authorization confirmation message to the originating endpoint 100 that made the request. To prepare the call, a series of messages are sent between the calling party and the gatekeeper and between the gatekeeper and the called party. Both the calling party 100 and the called party 200
A permission request (set message) is sent to gatekeeper 300. The permission request includes the identifier of the calling party 100 and the called party. In response to each permission request, the gatekeeper sends a permission confirmation.
[0007] The permission message is registered (Registratio
n), Authorization (Administration) and Status (Status)
It belongs to a message protocol called (RAS). The other two types of RAS messages involved in a call are RAS bandwidth requests and release requests. An RAS bandwidth request is sent when two endpoints that are already communicating request a bandwidth change, for example, when exchanging very large files between the endpoints. Release messages are exchanged when the call is completed.
[0008] The message holds a set of information elements that can identify the source and destination endpoints. One special information element is a conference identifier that uniquely identifies the call and is the same for all messages belonging to the call.
The conference identifier is a globally unique identifier generated using rules that ensure that the conference identifier is unique. The above message is for the call and contains the conference identifier.
As voice communication on IP networks becomes the key mode of communication, the growing voice IP traffic demands higher performance in the gatekeeper side. The present invention proposes a message processing method in a gatekeeper system that improves the capacity of the gatekeeper system.
The present invention also proposes a larger capacity gatekeeper system and components that can increase the capacity of the gatekeeper system.
It is another object of the present invention to provide a processing method, a gatekeeper system, and components for a gatekeeper system that facilitate large-scale software or hardware modifications in the gatekeeper. is there.
SUMMARY OF THE INVENTION A method in accordance with the present invention is a method for processing messages arriving at a gatekeeper system of an internet protocol network, wherein the gatekeeper system processes a series of such messages. The method comprising the steps of: dispatching a message arriving at a gatekeeper system to a separate sub-process, wherein the method identifies whether the message belongs to the same call as a previous message. And if it belongs to the same call, sending the message to the same sub-process that the previous message was sent to.
[0013] The gatekeeper system according to the present invention comprises:
An internet protocol network gatekeeper system, wherein the gatekeeper system comprises:
Operate multiple sub-processes, each capable of processing a series of such messages, the gatekeeper system can dispatch the messages to separate sub-processes, and furthermore, the message belongs to the same call as the previous message A gatekeeper system that identifies whether the message belongs to the same call and sends the message to the subprocess that processed the previous message.
The component according to the invention is a component for a gatekeeper system of an internet protocol network, comprising means for dispatching a message arriving at the component to a plurality of sub-processes, wherein the message is a previous message. Can be identified whether they belong to the same call, and if they belong to the same call,
A component that can send the message to the subprocess that processed the previous message.
[0015] Other features, objects and advantages of the present invention will become apparent to those skilled in the art from the following embodiments of the invention and the accompanying drawings.
DETAILED DESCRIPTION OF THE INVENTION Call preparation in H323 is defined by two protocols. The RAS protocol and the Q931 protocol. FIG. 2 schematically illustrates conventional RAS and Q931 messages sent between a caller, gatekeeper and called party during call preparation. In the figure, each arrow represents a message, and each arrow indicates whether the message is a RAS message or a Q931 message.
In addition to the previously described messages, the RAS message
It may be a registration message sent when the endpoint is first connected to the network, that is, when a new endpoint is declared to the gatekeeper.
As shown in FIG. 4, the gatekeeper system 300 includes a series of gatekeeper instances 310a, 310b,... 310n, each of which can process various incoming messages. In one embodiment, each instance 310a, 310b,.
.. 310n are separate sub-processes running on separate processors. In other embodiments, each instance may run on the same processor or a different number of processors than the number of sub-processes. Further, each instance may belong to a single computer or a group of computers.
The gate keeper 300 includes the gate keeper 30.
It has a scalable architecture so that if the load of 0 becomes too heavy, new instances can be added.
The gatekeeper 300 is connected to the network 45
0 from the rest and other signaling services, for example, the "Open Call M" created by Hewlett Packard.
The signal service developed by users of a platform called the "ultiservice Controller platform" looks like a single gatekeeper.
Gatekeeper 300 transmits the arrival message to gatekeeper instances 310a, 310b,.
・ Dispatch to 310n sets, hereafter demux
It includes a module 320 called a module. In one embodiment, the demux module 320 is a specific hardware unit with its own specific software. Alternatively, the demux module 320 may be a pure software element. demux module 32
0 first determines whether the message is a registration message or a permission message. If the message is a registration message, the demux module 320 converts the message to gatekeeper instances 310a, 310b,.
n. This load balancing policy may be any load balancing policy used on other computer systems. The load balancing policy may be independent of the rest of the dispatch algorithm. The load balancing policy can simply perform registration and load balancing of new calls.
The message is the first of a call, ie
If the RAS initial permission, the demux module 320
Further, according to the load balancing policy, the message is transmitted to one of the gatekeeper instances 310a, 310a, 3b.
10b,... 310n.
[0022] The RAS message typically includes a conference identifier (conference ID) that uniquely identifies the call. Thereafter, the receiving instances 310a, 310b,.
0n is responsible for identifying itself as the gatekeeper instance holding the Q931 traffic.
If the arriving message belongs to a call for which at least one authorization message has already been received by the demux module 320, the demux module 320
Sends the message to the gatekeeper instance that received the previous message for the call. In other words, once the instance receives the first grant message of the call, it will make its call its own and receive all subsequent RAS messages of the call. This means that the Q931 address of the assigned gatekeeper instance 310a, 310b, ... 310n is given to the terminal that sent the authorization message,
The resulting assigned gatekeeper instance 31
0a means that it is a gatekeeper from the point of view of the terminal that sent the message and other terminals involved in the call.
According to the H323 standard, a gatekeeper gives its Q931 address (or, in some cases, if Q931 is direct, up to the Q931 address of the called party end point) in an admission-on-stage in a stage. Establish rules.
Like the conventional gatekeeper in the routing mode, this assigned instance is responsible for maintaining the Q931 traffic for the call. In other words, this instance plays the role of a normal gatekeeper after identifying itself as a normal gatekeeper. .. 310n
Is dedicated to its own call, overall efficiency is improved. When an instance receives a new message from a known call, the assigned instance already has background information about the call. As described above, the conference ID
Is separate for each call, even if two calls are made by the same caller.
Since the method dispatches the message based on the message's conference ID, the message is:
Dispatched essentially on a call basis. This feature is very advantageous when the message comes from a signaling gateway. The signaling gateway interfaces between the H323 network and the public switched telephone network (PSTN). The gateway is an H323 endpoint,
Make many PSTN calls to the H323 network invisible.
For messages passing through a gateway, these messages typically appear to the gatekeeper as coming from the same IP endpoint, ie the gateway. Gatekeepers usually do not see the phone from which the message comes. The traditional solution is to send all messages coming from that gateway to the same instance, even if the dispatch method is based on endpoint analysis (or registration analysis), which means that the instance can respond quickly. It means that it cannot be done.
Since the dispatch method is performed based on the call (more precisely, the conference ID value), various messages coming from the same gateway are dispatched taking into account the actual call to which the message belongs. Major H32
Since the three workloads are due to call processing, the dispatch method is very efficient.
The RAS message contains the ASN. Encoding is performed according to a model defined by one standard and named PER (Packed Encoding Rule). ASN. 1
The standard specifies how data structures are described in an unambiguous manner. ASN. One structure is usually a tree structure. ASN. According to No. 1, any kind of data structure can be described. For example, the data structures may include constrained or unconstrained arrays of scalar types (such as integers), alternatives, or other data structures.
Fields in the data structure may be optional.
The H323 message set (as defined in the H225 recommendation) is very complex and holds more than 60,000 "numbers". For example, the full definition of an authorization message requires several pages.
Further, the RAS message contains the ASN. 1
It is created specifically under the standard, but is also encoded under the PER model. PER encoding reduces the size of the message to a minimum number of bits, and in particular, reduces the size of some fields to an effective length. For example,
The number of bytes may be reduced to a single byte according to its value. Further, the representation is not adjusted to bytes.
If the representation can be encoded with several bits (eg, an integer less than 32 is encoded with 5 bits), then the next representation is not the byte boundary, but the 6th of the current byte. Start with a bit.
The final PER encoded message is very difficult to understand, especially since it has a series of fields of bits of various sizes, each field also being a series of other fields. Is known to be.
Previously, RAS messages required very complex software tools to decrypt. Complex messages that are incorrect to write by hand
This is especially true for sets. Previously, software tools had to completely decode the PER message, which was time consuming.
Here, the data necessary for dispatch,
That is, we propose a simple compounding method implemented at the level of demux 320 to read only the message type and conference ID. This partial decryption is performed by AS
N. The fact that one structure is a tree structure and the data of interest rely on the fact that it is not far from the first root region of the tree structure. Since the message type indication is exactly one of the first fields, the partial decoding process first reads the message type field. Then, according to the message type, the process derives the location of the conference ID field, if any.
For example, demux derives that the conference ID field is located after three fields, each representing a character string. To skip the field before the conference ID, the demux module now uses the AS
N. It is necessary to know all fields that may precede the meeting ID in one data structure.
The partial decoding method examines the resulting fields in the tree structure and skips irrelevant fields. In PER decoding, the size of each field is known in advance for a fixed coding length field, or is indicated in a message for a variable coding length field. For this reason, the partial decoding method can jump over without having to read the field.
This simple decoding algorithm is executed in two stages. The first step is to extract the type of the RAS message. In the second step, if the message belongs to the call according to the type extracted, the conference ID
Extracting the type involves only the first bit of the message. The head of the RAS message is as follows.
Bit number 0: extension bit Bit number 1 to bit number 5: message type Bit number 6 and later: payload The message type is an integer value that can be read from bit number 1 to bit number 5 of the message.
The location of the conference identifier (CID) field depends on the message type and the actual content of the message. Since we know the message type from the previous step, we skip all message fields before the CID.
If the field is a scalar value, its length is known according to the PER standard. Can be fixed length or read from the message. If the fields are data structures, each field in the data structure can be skipped again.
For example, an authorization message whose message payload has the following structure (authorization request or AR
Consider Q).
An authorization request (ARQ) message holds some possible extensions (including the "" marker) and some optional fields. Since the message extension is located after the conference ID, the leading extension bit in the PER expression can be skipped. The message has several optional fields before the CID, so the next 7
Bits need to be stored.
The "requestSeqNum" field is a 16-bit integer. According to the PER standard, the field occupies 16 bits and is adjusted to bytes. Therefore, this field can be skipped.
The “callType” field is actually an extensible enumeration, and is defined as follows.
Depending on the extension bit, the value of the call type attribute may belong to one of the four known types or may be extended. In this case, it is possible to skip two bits representing the extension bit and the attribute value.
In the latter case, the extension bits and P
The actual extension according to the ER standard can be skipped.
The "callMdel" field is optional and its presence is identified by an option bit mask at the start of message processing. If present, it can be skipped according to the PER expression. Each field of the message and possibly subfields can then be skipped until the CID is reached. Thereafter, the CID can be read from the ARQ.
The decoding method may scan several branches of the tree structure before reaching the desired field. However, since we are interested in the first few fields of the hierarchy, we can access the CID values in a very short time by scanning only the highest level fields.
The system provides for all known calls,
Includes a table that matches the gatekeeper instance to that of the conference ID.
The load balancing policy used to dispatch these messages as far as the call registration message or the first admission message is concerned may be completely independent of the rest of the dispatch algorithm.
A table that maps between H323 call identifiers and gatekeeper instances may rely on tuples or hash functions of H323 call identifiers. Registration and authorization are the most typical messages.
The method applies to any message that can be received by the gatekeeper. If the message is not involved in a call, it is processed according to the registration message model. If the message belongs to a call, it is processed according to the authorization message model.
As far as RAS messages such as RAS gatekeeper discovery or location request are concerned, the "GK route"
Sent to a dedicated gatekeeper instance called
The method is compatible with all H323 endpoints and all types of terminals. The terminal that exchanges messages when a call is established may be, for example, an IP telephone, a regular telephone, eg, a video conference terminal or a personal computer via a gateway.
The embodiments of the present invention will be exemplified below.
1. A method for processing a message arriving at a gatekeeper system of an internet protocol network, the gatekeeper system including a plurality of sub-processes each capable of processing a series of such messages, the method comprising: Dispatching the message arriving at the gatekeeper system to a separate sub-process, identifying whether the message belongs to the same call as the previous message;
A method comprising, if belonging to the same call, sending the message to the same sub-process that the previous message was sent to.
3. The method of 1 above, wherein the method is applied to an H323 network.
4. The method of claim 3 wherein the message dispatched is a "Registration, Authorization and Status (RAS)" message.
5. Identifying whether the message is a registration message or an authorization message, and, if the message is identified as a registration message, based on the current load of the various sub-processes to balance the load of the various sub-processes. 5. The method of claim 4, comprising determining a subprocess to which the message is dispatched.
6. Identifying whether the message is a registration message or a grant message, and if the message is a grant message, determining whether the message is the first grant message of the call; 5. The method of claim 4, comprising determining a sub-process to which messages are dispatched based on a current load of the various sub-processes, if any, to balance loads of the various sub-processes.
7. The message to be dispatched enters the gatekeeper system in encoded form and comprises a plurality of fields, one or more of the plurality of fields including data identifying the call, and the step of dispatching comprises: 2. The method of claim 1, including decoding the message only partially, wherein the decoded portion includes the one or more fields including data identifying the call.
8. The method of claim 7, further comprising sequentially examining fields of the message until finding one or more fields containing data identifying a call.
9. Reading one or more fields indicating the type of message and deriving, based on the type of message, a series of field types for a field preceding the one or more fields containing call identification data. 9. The method according to the above 8, further comprising:
10. Whether an optional field is present before the one or more fields containing call identification data to determine whether the optional field should be found when examining the fields in turn. 10. The method of claim 9, further comprising examining a field indicating
11. An internet protocol network gatekeeper system, wherein the gatekeeper system functions a plurality of sub-processes, each capable of processing a series of such messages, wherein the gatekeeper system dispatches the messages to separate sub-processes. Means for identifying whether the message belongs to the same call as the previous message, and, if so, sending the message to the sub-process that processed the previous message. Gatekeeper system to have.
12. Further comprising means for identifying whether the message has the same conference identifier as the previous message, and if so, sending the message to the sub-process that processed the previous message. Gatekeeper system as described.
13. A component for a gatekeeper system of an internet protocol network, including means for dispatching a message arriving at the component to a plurality of sub-processes, and identifying whether the message belongs to the same call as a previous message. Component that can send the message to the sub-process that processed the previous message if it belongs to the same call.
14. 13. The method of claim 13, further comprising means for identifying whether the message has the same conference identifier as the previous message, and, if so, sending the message to the sub-process that processed the previous message. Component.
15. A method for processing a message arriving at a gatekeeper system of an internet protocol network, the gatekeeper system including a plurality of sub-processes each capable of processing a series of such messages, further comprising: , Enters the gatekeeper system in encoded form,
Comprising a plurality of fields, at least one of which includes data identifying a call, the method comprising the steps of dispatching a message arriving at a gatekeeper system to a separate sub-process, wherein the message is different from a previous message. Identifying whether to belong to the same call and, if so, sending the message to the same sub-process as the previous message, and the dispatching step only partially decodes the message And the decoded portion includes the one or more fields including data identifying the call.
16. A gatekeeper system that operates according to the method of one of the above.
17. A gatekeeper system functioning according to the above method.
【The invention's effect】 [Brief description of the drawings]
FIG. 2 illustrates the exchange of messages between a calling party, a called party and a gatekeeper during call preparation, according to the prior art.
FIG. 3 illustrates the exchange of messages between a calling party, a called party, and a gatekeeper during a call release, according to the prior art.
FIG. 4 illustrates a gatekeeper system according to one embodiment of the present invention.
300 gatekeeper 310n gatekeeper instance 320 demux module 450 network
1. A method for processing a message arriving at a gatekeeper system of an internet protocol network, the gatekeeper system including a plurality of sub-processes each capable of processing a series of such messages. Dispatching the message arriving at the gatekeeper system to a separate sub-process, wherein the method identifies whether the message belongs to the same call as the previous message and, if so, A method comprising sending the message to the same sub-process to which the previous message was sent.
JP2002185541A true JP2002185541A (en) 2002-06-28
JP3888615B2 JP3888615B2 (en) 2007-03-07
JP5831320B2 (en) 2012-03-21 2015-12-09 株式会社リコー Transmission management system, transmission system, and program for transmission management system
US7366792B2 (en) 2008-04-29 Method and system for proxying telephony messages
US20140019629A1 (en) 2014-01-16 Distributed call server supporting communication sessions in a communication system and method