This invention relates to a method for controlling a media gateway, to a method for transmitting a command from a media gateway controller to a media gateway, and to the media gateway.
The industry trend goes towards high capacity mobile switching center (MSC) servers which are also scalable. A typical architecture for such a system is a blade cluster structure with a plurality of blades. Transmission lines that carry payload are terminated in media gateways and the switching of these resources is controlled by the MSC server. Furthermore, a pool of terminations is provided at the media gateway, the pool of terminations being controlled by the different blades of the MSC. In case one blade of the MSC server fails, the terminations controlled by said blade have to be released in order to make them available for other calls. In this context, the terminations controlled by a failed blade need to be released in an efficient way. One possibility to release the terminations controlled by the failed blade would be to subtract the different terminations one by one by sending a subtract command to each termination. However, this represents an unacceptable amount of signalling and recovery time.
H.248 is for a control of elements in a multimedia gateway and is used as a control protocol between the media gateway and the media gateway controller. In this protocol a wildcard mechanism is known using two types of wildcards with termination IDs. These two wildcards are “ALL” and “CHOSE”. The former “ALL” is used to address multiple terminations at once while the latter is used to indicate to the media gateway that it should select a termination satisfying a partially specified termination ID.
A termination for a media gateway is a logical entity which is the source and/or the sink of media and/or control streams. Each termination has a unique entity, the termination ID.
A context is an association between a number of terminations, the context describing the topology (who hears/sees whom) and the media mixing and/or switching parameters if more than two terminations are involved in the association. A context is created by adding the first termination and it is released by removing/ subtracting the last termination.
Either the context ID or the termination ID or both may be wildcarded. The wildcarding of context or terminations represents a rudimentary tool for conditional execution: the receiver of the commands scans all existing contexts and/or terminations. Only if the context ID matches the received context ID wildcard, or if the termination ID matches the received termination ID wildcard, the commands can be executed.
However, this wildcarding mechanism is not powerful enough to efficiently address some of the terminations in the pool of terminations with a limited number of messages to be exchanged.
Accordingly, a need exists to provide an efficient way for addressing terminations with a minimum number of messages or commands to be exchanged.
This need is met by the features of the independent claims. In the dependent claims preferred embodiments of the invention are described.
According to a first aspect of the invention a method for controlling a media gateway is provided, in which the media gateway receives a command from the media gateway controller, the command containing a condition under which the command is to be executed. In an additional step it is verified whether the condition contained in the command is met or not. In the affirmative, i.e. when the condition is met, the command is executed. Accordingly, the command will only be executed if the condition is met, and if the condition is not met, then the command will not be executed in the media gateway to which the command is transmitted. If the condition is not met, no action will be taken except that a reply message may be sent to the transmitter of the command, the reply message eventually containing an error message, such as “condition not met” or “condition not fulfilled”.
Preferably, the command is a command for controlling terminations of a media gateway, the command addressing at least one termination of the media gateway. Before it is determined whether the command is executed for said at least one termination, the termination to which the command is addressed is identified and the command is executed for said at least one termination when the condition is met. Thus, after having identified the terminations addressed by the command, it is verified whether the condition is met, and if the condition is met, the command is executed for the identified terminations.
Preferably, the condition contains a property parameter and a property value, wherein for determining whether the condition is met by a predetermined termination it is determined whether said property parameter is set to a given property value for said termination. The property parameter and the given property value may be set during the seizure of a termination. However, it is also possible that the property parameter and the given property value will be provided to the termination at a later stage, e.g. with a modify or move command. Preferably, the property parameter and the property value will be set until the termination is released.
In order to efficiently address a plurality of terminations by one command, the command is addressed to a plurality of terminations. The condition is then used to determine to which termination or terminations among the plurality of terminations the command is addressed. Thus, the provision of the condition in the command provides the possibility to address a command to a plurality of terminations, the condition specifying to which of the terminations the command is addressed.
According to another embodiment of the invention the condition may contain a first condition and a second condition combined by a compound condition rule, such as “AND”, “OR” or “NOT”. Depending on the compound condition rule used the command is then executed when the first and the second condition is met. By way of example if the two conditions are combined by the compound condition rule “AND”, both conditions have to be met. If the two conditions are connected by the compound condition rule “OR”, either the first or the second condition has to be met for the execution of the command.
The media gateway controller may further comprise a plurality of processors, e.g. in a multi-blade architecture, and the property parameter in the command contains a group indicator identifying the processor to which the command relates to. By way of example the command may be a command to subtract the terminations controlled by a predetermined processor of the media gateway controller, e.g. in case the processor fails. In this situation the terminations controlled by said predetermined processor can be identified by the group indicator contained in the condition. With this method the processor affected by a failure, e.g. due to a re-start, can effectively remove all terminations which were controlled by the failed processor with a single command.
The command can be a H.248 command as the H.248 protocol or media gateway control protocol is used for exchanging commands between the media gateway and the media gateway controller.
However, the command containing the condition is not restricted to the subtract command. The command containing the condition could be any command used in the H.248 control protocol. Another example for the command can be the modify command, the command being a command to modify all terminations in the media gateway meeting a predetermined requirement. In this embodiment the condition contains the predetermined requirement. By way of example the predetermined requirement may be all terminations belonging to a predetermined IP domain. Another example of a command containing a condition may be a notify command as will be explained in further detail below.
The invention furthermore relates to a media gateway receiving the command, the media gateway comprising a receiving unit receiving the command from the media gateway controller, the command containing the condition under which the command is to be executed. Furthermore, a verification unit is provided verifying whether the condition contained in the command is met. A controller of the media gateway provided in a media gateway may then execute the command when the condition contained in the command is met.
Preferably, the media gateway comprises an identification unit to identify said at least one termination addressed by the command as the command is addressing at least one termination of the terminations provided in the media gateway.
According to another aspect a method is provided transmitting the command from the media gateway controller to the media gateway. Before the command can be transmitted to the media gateway, the condition under which the command is to be executed at the media gateway is determined and the command message is generated including said condition.
Additionally, the command is transmitted from the media gateway controller to the media gateway. The receiving media gateway receiving the command processes the command as discussed above. In one embodiment of the invention the condition may contain the group indicator identifying the processor to which the command is related to in case the media gateway controller is a multi-processor controller. When a failure of one of the processors is detected in the media gateway controller, a subtract command can be transmitted to the media gateway, the subtract command containing the identity of the failed processor as condition.
The invention will be discussed in further detail with reference to the accompanying drawings, in which
In
In
In connection with
Context=ALL{SUBTRACT{Termination=ALL,Condition{Blade=blade 1}}}
In step 304 the terminations to which the command is addressed is identified. In the present example it is detected that the command basically addresses all terminations of the media gateway as the wildcard mechanism “ALL” is used. This step corresponds to step 203 mentioned in
Although the invention is particularly useful in connection with a subtract command, the condition can be used in connection with other commands. One example is the modify command. After a re-start of the media gateway controller the removal of all ATM/IP terminations is ordered, but before that a signal is sent to release the bearer (BNC) release. However, the signal is only applicable to ATM bearers, it is not necessary for IP bearers. The termination ID does not indicate whether it is an IP or an ATM termination. With the following command
Context=ALL {Modify{Termination=ALL,Condition{BCP/BNCChar=AAL2},SignalDescriptor{Signal=BNC Release}}}
it is possible to determine whether it is an IP or an ATM bearer, as the ITU-T Q. 1950 BCP/BNCChar property indicates whether it is an IP or an ATM bearer.
Furthermore, it is possible to use the condition in connection with compound conditions, as shown in the following example:
Context=ALL{Modify{Termination=ALL,Condition{{BNCChar=AAL2},{threegup/interface=CN},AND},SignalDescriptor{Signal=BNC Release}}}
This embodiment relates to the same situation as in the previous case, but the release bearer is only needed for ATM bearers and the core network side, whereas it is not needed for the mobile access side. The 3GPP TS 29.232 threegup/interface indicates whether it is a network or an access interface. Another example is that the media gateway controller may want to modify all terminations in the media gateway that are handling a specific IP domain identified by the system H.248.41 ipcd/realm. With the following command
Context=ALL{Subtract{Termination=ALL,Condition{ipdc/realm=domain 1}}}
it is possible to remove all terminations belonging to the specific IP domain, as a problem may occur in a particular domain making it necessary to remove all terminations belonging to said domain.
A further example of a command containing a condition is as follows:
Context=ALL{Notify{Termination=ALL,Condition{ipdc/realm=domain1},EventsDescriptor}}
In this embodiment an event is sent on all terminations belonging to a specific IP domain as identified by the ITU-T H.248.41 ipcd/realm property.
Summarizing, the use of conditions in the commands of the H.248 control protocol allows an effective addressing of some of the terminations with a minimum number of messages to be exchanged.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP08/64995 | 11/5/2008 | WO | 00 | 6/14/2011 |