CN101404674B - Call routing method, proxy server and relay device - Google Patents
Call routing method, proxy server and relay device Download PDFInfo
- Publication number
- CN101404674B CN101404674B CN2008102268298A CN200810226829A CN101404674B CN 101404674 B CN101404674 B CN 101404674B CN 2008102268298 A CN2008102268298 A CN 2008102268298A CN 200810226829 A CN200810226829 A CN 200810226829A CN 101404674 B CN101404674 B CN 101404674B
- Authority
- CN
- China
- Prior art keywords
- resource
- relay
- resources
- proxy server
- relay device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 12
- 230000000977 initiatory effect Effects 0.000 claims abstract description 4
- 230000004044 response Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
The invention provides a method for selecting call route, a proxy server and trunk equipment, which can be applied to call establishing process of session initiation protocol (SIP), wherein, the method comprises the following steps: the proxy server can select resource usable trunk equipment in a plurality of pieces of trunk equipment according to information of resource utilization condition of a plurality of pieces of trunk equipment, when a called terminal for calling corresponding to a plurality of pieces of trunk equipment is determined by the proxy server, the call is routed to the selected trunk equipment, thereby reducing time of calling connection, improving efficiency of calling connection, and reducing resource consumption and processing burden of the proxy server on call route selection.
Description
Technical Field
The present invention relates to the field of network session technologies, and in particular, to a call routing method, a proxy server, and a relay device.
Background
Session Initiation Protocol (SIP) is a core Protocol proposed by the Internet Engineering Task Force (IETF) for multimedia data and control architectures. In the process of initiating a session by using SIP, the session terminal can be controlled to participate in the establishment and termination of a multimedia session, and session attributes, such as session bandwidth requirements, the type of the transmitted media, the codec format of the media, the support for multicast and unicast, and the like, can be dynamically adjusted and modified.
In the process of establishing a call by using SIP, the call establishment process is completed through communication between a proxy server and a proxy client. Taking the network architecture shown in fig. 1 as an example, the relay device a serves as a proxy client of the terminal a, the relay device B serves as a proxy client of the terminal B, and when the terminal a needs to call the terminal B, the relay device a sends a session request message including the number of the terminal B to the proxy server after the terminal a dials the number of the terminal B; the proxy server finds the relay equipment B corresponding to the number of the terminal B and sends a session request message to the relay equipment B, namely, the call is routed to the relay equipment B; after determining that the terminal B is available, the relay equipment B replies a response message to the proxy server and sends a ringing message to the terminal B; the proxy server forwards the received response message to the relay device a, so that the call between the terminal a and the terminal B can be established through the relay device a and the relay device B. The relay device may be a router, a gateway, or other devices, and the above process is only a main principle of call establishment, where the process of route lookup and capability negotiation of the terminal is omitted.
In an actual network application process, a plurality of relay devices are usually arranged inside an enterprise network due to the fact that the number of terminals and call volume are very large, for example, three relay devices, namely a relay device a, a relay device B and a relay device C, are arranged in a bank headquarters network shown in fig. 2, each terminal can use any one of the relay devices as a proxy client, a call made to a terminal in the bank headquarters network is firstly sent to a proxy server, the proxy server randomly selects one of the three relay devices, and the call is routed to the selected relay device. However, if the resources of the selected relay device are completely occupied, and the attempted call made by the relay device fails, the proxy server will randomly select another relay device from the other two relay devices and route the call to the selected relay device. It can be seen that the random selection of the proxy server from all the relay devices may cause that the available relay devices are selected from the plurality of relay devices repeatedly, and each selected relay device needs to attempt to determine whether the relay device is available, which may result in an increase in call connection time and low efficiency, and may also consume resources of the proxy server, increasing the processing load of the proxy server.
Disclosure of Invention
In view of this, the present invention provides a method for selecting a call route, a proxy server and a relay device, so as to reduce the time for call connection, improve the efficiency of call connection, and reduce the processing load of the proxy server.
A method for selecting call route is applied to SIP call establishment process, and the method comprises: when the proxy server determines that a called terminal of a call corresponds to a plurality of relay devices, selecting one relay device with available resources from the plurality of relay devices according to the resource use condition information of the plurality of relay devices, and routing the call to the selected relay device;
the relay devices send notification messages containing resource use condition information of the relay devices to the proxy server according to a preset period, or when the relay devices change the resource use condition of the relay devices or receive subscription messages containing resource use condition requests sent by the proxy server;
wherein,
the resource use condition information is whether the resource of the relay equipment which sends the notification message is available, when the occupancy rates of various resources of the relay equipment are smaller than a preset first threshold value, the resource of the relay equipment is determined to be available, and the sent notification message carries the information that the resource of the relay equipment is available; when the occupancy rate of one or more resources of the relay equipment is larger than or equal to a preset second threshold value, determining that the resources of the relay equipment are unavailable, and carrying the information that the resources of the relay equipment are unavailable in a sent notification message; when the occupancy rates of all the resources of the relay equipment are smaller than a second threshold value and not all the resources are smaller than a first threshold value, the relay equipment is determined to keep the original available or unavailable state; wherein the first threshold is less than or equal to the second threshold;
or,
the resource usage status information is an occupation rate or an idle value of various resources in the relay device that sends the notification message, and the selecting one relay device that has available resources from the plurality of relay devices specifically includes: the proxy server determines whether the resources of the relay device are available according to the occupancy rates or idle values of various resources contained in the received notification message, and selects the relay device with the most available resources from the relay devices with available resources according to the preset priority of various resources.
A proxy server for use in a SIP call setup procedure, the proxy server comprising: the system comprises an information sending unit, an information acquiring unit, a call determining unit and a call routing unit;
the information sending unit is used for sending a subscription message containing a resource use condition request to the relay equipment;
the information acquisition unit is used for acquiring the resource use condition information of the relay equipment from the notification message sent by the relay equipment; the resource use condition is various resource occupancy rates or idle values of the relay equipment;
the call determining unit is used for determining the available relay equipment of the resources according to the resource occupancy rates or idle values of the plurality of relay equipment acquired by the information acquiring unit when the called terminal of the call corresponds to the plurality of relay equipment, and selecting the relay equipment with the most available resources from the available relay equipment of the resources according to the preset priority of various resources;
the call routing unit is used for routing the call to the relay equipment selected by the call determination unit.
A relay device, the relay device comprising: a status determining unit and a message transmitting unit;
the state determining unit is used for determining the resource use state of the relay equipment; the resource use condition information is whether the resource of the relay equipment is available, when the occupancy rates of various resources in the relay equipment are smaller than a preset first threshold value, the resource of the relay equipment is determined to be available, when the occupancy rate of one resource in the relay equipment is larger than or equal to a preset second threshold value, the resource of the relay equipment is determined to be unavailable, when all the resources in the relay equipment are smaller than the second threshold value and not all the resources are smaller than the first threshold value, the relay equipment is determined to keep the original available or unavailable state, wherein the first threshold value is smaller than or equal to the second threshold value;
the message sending unit is configured to send the resource usage status determined by the status determining unit to the proxy server according to a preset period, or when a subscription message including a resource usage status request sent by the proxy server is received, or the resource usage status determined by the status determining unit changes.
It can be seen from the above technical solutions that, the proxy server in the present invention obtains the resource usage status of each relay device, and when it is determined that the called terminal of the call corresponds to multiple relay devices, can select one relay device with available resources from the multiple relay devices according to the resource usage status information of the multiple relay devices, and route the call to the selected relay device. The invention can avoid the problem that the proxy server can cause the failure of calling attempt due to the fact that the resources of the relay equipment are completely occupied caused by randomly selecting the relay equipment, and the relay equipment selected once is the equipment with available resources, and does not need to select and try calling repeatedly, thereby reducing the time for calling connection, improving the efficiency of calling connection, and reducing the resource consumption and processing burden of the proxy server on the calling route selection.
Drawings
Fig. 1 is a schematic diagram of a network composition for establishing a call using SIP;
FIG. 2 is a diagram of a network architecture including a plurality of relay devices;
FIG. 3 is a flow chart of a first method according to an embodiment of the present invention;
FIG. 4 is a flow chart of a second method provided by an embodiment of the present invention;
FIG. 5 is a block diagram of a proxy server provided by an embodiment of the present invention;
fig. 6 is a structural diagram of a relay device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in detail with reference to the accompanying drawings and specific embodiments.
The method provided by the invention mainly comprises the following steps: when the proxy server determines that the called terminal of the call corresponds to a plurality of relay devices, one relay device with available resources is selected from the plurality of relay devices according to the resource use condition information of the plurality of relay devices, and the call is routed to the selected relay device.
In the above method, each relay device may send an announcement message including resource usage status information of itself to the proxy server, where the resource usage status may be whether there is an available resource in the relay device itself, that is, whether the relay device is available, or may be an occupancy rate or an idle value of each specific resource in the relay device. For the above two cases, the following two examples are used to describe the above method in detail.
Fig. 3 is a flowchart of a first method according to an embodiment of the present invention, and as shown in fig. 3, the method may include the following steps:
step 301: the proxy server transmits a subscription (Subscribe) message to each relay apparatus (one relay apparatus is taken as an example in fig. 3, and the operation of the other relay apparatuses is the same as that of the relay apparatus).
Wherein, the Subscribe message includes a resource use status request. The Subscribe message is defined in RFC3842 and RFC3265, the present invention can use the structure of the existing Subscribe message, and only one additional Event (Event) field needs to be defined in the Subscribe message to identify the resource usage status request, that is, to identify that the Subscribe message is used to notify each relay device of the resource usage status. For example, an Event: resource available field. An example of a specific Subscribe message may be as follows:
SUBSCRIBE sip:XXX@172.32.27.100:5060SIP/2.0
Via:SIP/2.0/UDP 172.32.51.37:5060;branch=z9hG4bKe9deda7dfd7
Call-ID:831d3032dd270af43429cb9ce9deda0002@172.32.51.37
From:<sip:XXX@172.32.51.37:5060>;tag=e9deda7d
To:<sip:XXX@172.32.27.100:5060>
CSeq:1SUBSCRIBE
Contact:<sip:XXX@172.32.51.37:5060>;expires=3600
Expires:3600
Event:Resource available
Allow:ACK,BYE,CANCEL,INFO,INVITE,NOTIFY,PRACK,REFER,REGISTER,UPDATE,SU
BSCRIBE,OPTIONS
Date:Mon,03 Nov 2008 17:05:14 GMT
Max-Forwards:70
Supported:timer
Content-Length:0
the proxy server may send a Subscribe message to each relay device when the call routing function provided by the present invention is initially enabled, or a failure restart occurs, or a call routing service is restarted, etc.
Step 302: after receiving the Subscribe message, the relay device replies 202Accepted response message to the proxy server.
Step 303: the relay device determines the resource use condition of itself, and determines whether its resource is available, that is, whether itself is an available relay device.
The resources present in each relay device can be divided into four types: bandwidth resources, CPU resources, memory resources, and voice channel resources. The resource type of the relay device and the call routing service can be bound in advance, and only the resource bound with the call routing service needs to be determined when the resource use condition is determined. In this embodiment, four types of binding are described as an example, and the specific determination process is as follows:
1) the occupancy rates of various resources may be determined first, specifically: for the bandwidth resource, the occupancy rate is the ratio of the used bandwidth resource to the actual total bandwidth resource; for the memory resource, the occupancy rate is the ratio of the used memory resource to the actual total bandwidth resource; for CPU resources, the occupancy rate is the ratio of occupied CPU resources to actual total CPU resources; for voice idle channel resources, the occupancy rate is the ratio of the number of used voice channels to the actual effective total number of voice channels.
Among the above four resources, the determination of the occupancy rate of the voice channel resource needs to be specifically described. The determination process may be: counting all voice channel resources bound with the call routing service, wherein the voice channel resources comprise all bound analog voice interfaces and digital voice interfaces; determining the actual effective total number of voice channels as: the difference between all the voice channel resources bound with the call routing service and the voice channel resources that cannot be used, wherein the voice channel resources that cannot be used include: the voice channel with fault, the voice channel corresponding to the configuration time slot and the signaling channel, the voice channel with fault includes: voice channels that appear inoperative (Down) or blocked (Block); then, the ratio of the number of occupied voice channels to the number of actually valid voice channels is used as the occupancy rate of the voice channels.
As an example, if interfaces binding with the call routing service in a relay device are VE1 and VE2, a VE1 interface is configured with 31 slots, and a VE2 interface is configured with 16 slots, where a VE1 interface down configured with 31 slots exists, and a VE1 interface configured with 16 slots exists, the number of actually valid voice channels is 16+31-31-1 equals 15, and the currently occupied 12 channels, the voice channel resource occupancy rate of the relay device is 12/15 equals 80%.
2) Then, comparing the occupancy rates of various resources with a preset first threshold and a preset second threshold, wherein the first threshold is less than or equal to the second threshold, and assuming that the first threshold is 60% and the second threshold is 80%, if the occupancy rates of various resources are less than 60%, determining that the resources of the relay device are available, that is, the relay device is available; if the occupancy rate of one of the various resources is greater than or equal to 80%, the resource of the relay device is determined to be unavailable, that is, the relay device is unavailable. If all the resources are less than the second threshold and not all the resources are less than the first threshold, the status is maintained, that is, the original available state or the available state of the relay device is kept unchanged. The first threshold and the second threshold are set to be different, so that the resource occupancy rate can be effectively prevented from being frequently switched up and down on the set threshold when the performance of the relay equipment and the resource use condition are in an unstable condition, and the ping-pong effect is prevented.
Step 304: the relay device transmits a Notify message containing whether its own resources are available to the proxy server.
If the relay device determines in step 303 that its own resource is available, it sends a Notify message containing that the relay device is available to the proxy server, and if it determines that its own resource is not available, it sends a Notify message containing that the relay device is not available to the proxy server.
The Notify message is defined in RFC3842 and RFC3265, the present invention can use the structure of the existing Notify message, and only one extra field needs to be defined in the Notify message to identify the information whether the self resource is available. For example, Resource available: yes is used to identify the Resource is available, and Resource available no is used to identify the Resource is not available. An example of a specific Notify message may be as follows:
NOTIFY sip:XXX@172.32.51.37:5060 SIP/2.0
v:SIP/2.0/UDP 172.32.27.100;branch=z9hG4bK80156764-3e56-db11-ae5f-9c2085ca11c5
f:<sip:XXX@172.32.27.100>;tag=4571fa58
t:<sip:XXX@172.32.51.37>;tag=e9deda7d
i:831d3032dd270af43429cb9ce9deda0002@172.32.51.37
Cseq:3408 NOTIFY
Timestamp:1160423991
Date:Mon,09 Oct 2006 19:59:51 GMT
Max-Forwards:70
m:<sip:XXX-Resourcemsg@172.32.27.100>
Event:Resource available
User-Agent:XXX
Subscription-State:active
c:application/Resource available
1:67
Resource available:no
in addition, the relay device can also determine the resource use condition of the relay device according to a preset period and send the resource use condition of the relay device to the proxy server through the Notify message; alternatively, when determining that the resource usage status of the relay device changes, for example, when the resource usage status changes from available to unavailable, or when the resource usage status changes from unavailable to available, the relay device sends the resource usage status of the relay device to the proxy server through a Notify message.
Step 305: and after receiving the Notify message reported by the relay equipment, the proxy server stores the information about whether the relay equipment is available and replies a confirmation response (200OK) to the relay equipment.
The 200OK replied in this step is used to confirm whether the Notify message is received to the relay device, and if the relay device does not receive the 200OK of the proxy server within the set time, the Notify message is retransmitted.
In addition, after receiving the Notify message, the proxy server may first determine whether the CALL identifier (CALL ID), the source device identifier (From-Tag), and the destination device identifier (To-Tag) included therein are consistent with the CALL ID, To-Tag, and From-Tag, respectively, in the transmitted Subscribe message, and if not, disregard the Notify message To prevent malicious attacks.
Step 306: after the proxy server receives the call, if the called terminal is determined to correspond to a plurality of relay devices, selecting one relay device with available resources from the relay devices with available resources, and routing the call to the selected relay device.
Fig. 4 is a flowchart of a second method according to an embodiment of the present invention, and as shown in fig. 4, the method may include the following steps:
steps 401 to 402 synchronize steps 301 and 302.
It should be noted that, in this embodiment, the resource usage status reported by the corresponding relay device is different from the resource usage status in the flow shown in fig. 3, and in this embodiment, the occupancy rate or idle value of each resource in the relay device is reported, so when the proxy server sends the Subscribe message to the relay device, an increased Event: the Resource allocated field is used to identify the Resource usage status request in this embodiment, and the relay device receives a request containing an Event: and reporting the occupancy rate or idle value of each Resource in the relay equipment to the proxy server after the Subscribe message of the Resource allocated field. Specific examples of the Subscribe message may be as follows:
SUBSCRIBE sip:XXX@172.32.27.100:5060 SIP/2.0
Via:SIP/2.0/UDP 172.32.51.37:5060;branch=z9hG4bKe9deda7dfd7
Call-ID:831d3032dd270af43429cb9ce9deda0002@172.32.51.37
From:<sip:XXX@172.32.51.37:5060>;tag=e9deda7d
To:<sip:XXX@172.32.27.100:5060>
CSeq:1 SUBSCRIBE
Contact:<sip:XXX@172.32.51.37:5060>;expires=3600
Expires:3600
Event:Resource occupied
Allow:ACK,BYE,CANCEL,INFO,INVITE,NOTIFY,PRACK,REFER,REGISTER,UPDATE,
SUBSCRIBE,OPTIONS
Date:Mon,03 Nov 2008 17:05:14 GMT
Max-Forwards:70
Supported:timer
Content-Length:0
step 403: the relay device determines the resource usage status of itself, that is, determines the occupancy rate or idle value of each resource.
Similarly, four types of binding with the call routing service are taken as an example for description, the occupancy rate of each resource may be determined according to the manner described in step 303, and the idle value of each resource may also be determined, for example, the number of idle voice channels and the idle memory resource are determined.
Step 404: and the relay equipment sends the occupancy rate or the idle value of each resource to the proxy server through a Notify message.
In this step, the relay device directly sends the occupancy rate or idle value of each resource to the proxy server, and the proxy server performs the judgment on whether the resource of the relay device is available.
The Notify message at this time may adopt Resource allocation: xxx is used for identifying the occupancy rate or the idle value, wherein the xxx can carry the specific occupancy rate or the idle value; adopting Resource-type: yyy to identify the corresponding resource type, wherein yyy may carry specific resource type information. An example of a specific Notify message may be as follows:
NOTIFY sip:XXX@172.32.51.37:5060 SIP/2.0
v:SIP/2.0/UDP 172.32.27.100;branch=z9hG4bK80156764-3e56-db11-ae5f-9c2085ca11c5
f:<sip:XXX@172.32.27.100>;tag=4571fa58
t:<sip:XXX@172.32.51.37>;tag=e9deda7d
i:831d3032dd270af43429cb9ce9deda0002@172.32.51.37
Cseq:3408 NOTIFY
Timestamp:1160423991
Date:Mon,09 Oct 2006 19:59:51 GMT
Max-Forwards:70
m:<sip:XXX-Resourcemsg@172.32.27.100>
Resource occupied
User-Agent:XXX
Subscription-State:active
c:application/Resource occupied
1:67
Resource occupied:xxx
Resource-type:yyy
the Notify message may include a plurality of Resource locations: xxx and Resource-type: the yyy field carries the usage information of various resources.
Step 405: and after receiving the Notify message, the proxy server replies a 200OK message to the relay equipment.
And if the relay equipment does not receive the 200OK message replied by the proxy server within the set time, retransmitting the Notify message.
Step 406: and the proxy server determines whether the resources of the relay equipment are available according to the occupancy rate or idle value of various resources contained in the received Notify message.
In this embodiment, if the proxy server determines that, among various resources of the relay device, as long as there is one resource whose occupancy rate is greater than or equal to a preset third threshold or there is one resource whose idle value is less than or equal to a preset fourth threshold, it determines that the resource of the relay device is unavailable, otherwise, it determines that the resource of the relay device is available. The third threshold and the fourth threshold corresponding to different resources may be different, and are selected according to specific situations. For example, as long as there is an occupancy of one resource of 100%, or as long as there is an idle value of one resource of 0, it is determined that the resource of the relay device is not available.
Step 407: after the proxy server receives the call, if the called terminal of the call corresponds to a plurality of relay devices, the relay device with the most available resources is selected from the determined relay devices with available resources according to the preset priority of various resources and the resource use conditions of the plurality of relay devices.
In this embodiment, a path optimization policy may be configured on the proxy server in advance, where the path optimization policy includes priority settings of various resources, and the proxy server may select, according to the path optimization policy, a relay device with the lowest resource occupancy rate and the highest priority from among the relay devices, or select a relay device with the highest priority and the highest resource idle value. For example, the priority of four resources can be set from high to low as: voice channel resources, CPU resources, memory resources, and bandwidth resources. And selecting the relay equipment with the maximum voice channel resource idle value or the minimum occupancy rate from the relay equipment, and if the voice channel resource idle values or the occupancy rates of the plurality of relay equipment corresponding to the called terminal of the call are the same, selecting the relay equipment with the minimum occupancy rate or the maximum occupancy rate of the CPU resource with the second priority, and so on.
For example, if the called terminal of the call received by the proxy server corresponds to the relay device a and the relay device B; the voice channel resource idle value reported by the relay device a is 20, the CPU occupancy rate is 30%, the memory idle value is 115029676 bytes, the bandwidth idle value is 50M, the voice channel resource idle value reported by the relay device B is 19, the CPU occupancy rate is 20%, the memory idle value is 116029676 bytes, the bandwidth idle value is 40M, and various resources of the relay devices a and B are in an available state. If the priority of the set various resources is from high to low: voice channel resources, CPU resources, memory resources and bandwidth resources; then relay device a is selected for call connection because relay device a has a higher idle value than relay device B for the voice channel resource with the highest priority.
The above is a description of the method provided by the present invention, and the proxy server and the relay device provided by the present invention are described below separately. Fig. 5 is a structural diagram of a proxy server according to an embodiment of the present invention, and as shown in fig. 5, the proxy server may include: an information acquisition unit 501, a call determination unit 502, and a call routing unit 503.
An information obtaining unit 501 is configured to obtain resource usage status information of the relay device.
A call determining unit 502, configured to select one relay device with available resources from the multiple relay devices according to the resource usage status information of the multiple relay devices acquired by the information acquiring unit 501 when determining that the called terminal of the call corresponds to the multiple relay devices.
A call routing unit 503, configured to route the call to the relay device selected by the call determination unit 502.
In addition, the proxy server may further include: an information sending unit 504, configured to send a Subscribe message containing the resource usage status request to the relay apparatus.
The information transmitting unit 504 may transmit the Subscribe message to each relay device when the call routing function provided by the present invention is initially enabled, or the proxy server is restarted due to a failure, or the call routing service is restarted, or the like.
The information acquisition unit 501 acquires resource usage status information of the relay apparatus from the Notify message transmitted by the relay apparatus.
Preferably, the information sending unit 504 is further configured to reply a success response to the relay device after the information obtaining unit 501 obtains the resource usage status information of the relay device.
The successful response is a protection mechanism of the present invention, so that the relay device can retransmit the resource usage status information in case of not receiving the successful response within the set time.
The resource usage information acquired by the information acquiring unit 501 may be divided into two types:
in the first case: the resource usage status information may be whether a resource of the relay device is available; at this time, the call determination unit 502 selects a relay apparatus whose resource is available from among the plurality of relay apparatuses, based on the information whether the resources of the plurality of relay apparatuses are available acquired by the information acquisition unit 501.
In the second case: the resource use condition information can be occupancy rates or idle values of various resources in the relay equipment; at this time, the call determination unit 502 determines the relay devices whose resources are available according to the occupancy rates or idle values of the various resources in the plurality of relay devices acquired by the information acquisition unit 501, and selects the relay device with the largest available resource among the relay devices whose resources are available according to the preset priorities of the various resources. The specific determination process may be the description of step 406 and step 407 in the flowchart shown in fig. 4.
Fig. 6 is a structural diagram of a relay device according to an embodiment of the present invention, and as shown in fig. 6, the relay device may include: a status determination unit 601 and a message sending unit 602.
A status determining unit 601, configured to determine a resource usage status of the relay device.
A message sending unit 602, configured to send the resource usage status determined by the status determining unit 601 to the proxy server according to a preset cycle, or when receiving a Subscribe message that is sent by the proxy server and includes a resource usage status request, or when the resource usage status determined by the status determining unit 601 changes.
More preferably, the relay apparatus may further include: a response receiving unit 603, configured to receive a successful response sent by the proxy server.
The message sending unit 602 may be further configured to, within a preset time after the resource usage status is sent, send the resource usage status to the proxy server again if the response receiving unit 603 does not receive a successful response sent by the proxy server.
The resource usage status sent by the message sending unit 602 may be two types:
in the first case: the condition determining unit 601 determines that the resource of the relay device is available when determining that the occupancy rates of various resources in the relay device are smaller than a preset first threshold; the message transmitting unit 602 transmits information that the resources of the relay device are available to the proxy server.
The condition determining unit 601 determines that the resource of the relay device is unavailable as long as the occupancy rate of one resource in the relay device is greater than or equal to a preset second threshold value; the message sending unit 602 sends the information that the relay device is unavailable to the proxy server; wherein the first threshold is less than or equal to the second threshold.
In the second case: the status determination unit 601 determines the occupancy or idle values of various resources in the relay device. The message sending unit 602 sends the occupancy or idle values of various resources in the relay device to the proxy server. In this case, the operation of determining whether the resources of the relay device are available is performed by the proxy server.
As can be seen from the above description, the method, proxy server and relay device provided by the present invention may have the following advantages:
1) the proxy server acquires the resource use condition of each relay device, and can select one relay device with available resources from the plurality of relay devices according to the resource use condition information of the plurality of relay devices and route the call to the selected relay device when the called terminal of the call is determined to correspond to the plurality of relay devices. The invention can avoid the problem that the proxy server can cause the failure of calling attempt because the resources of the relay device are completely occupied due to the random selection of the relay device, and the relay device selected at one time is the device with available resources without selecting for many times, thereby reducing the time for calling connection, improving the efficiency of calling connection and reducing the resource consumption and processing burden of the proxy server on the calling route selection.
2) In the invention, if the resources of the relay equipment are completely occupied, the resources are not in the selection range of the call route, and the proxy server selects the proxy server with available resources to carry out call connection, thereby realizing the load sharing of the call load in each relay equipment. Preferably, the proxy server can also select the currently optimal relay device to perform call connection according to the resource use condition of each relay device and the priority of each resource, thereby realizing the optimization of call routing.
3) In the prior art, if a proxy server finds that a called terminal has a plurality of relay devices, when the final route of a call to which relay device cannot be determined in real time, the proxy server does not transmit 183 responses replied by the called terminal to a calling terminal, but uses 180 responses for substitution; the 183 response carries the information of the negotiated terminal capability, which can be used for the calling terminal and the called terminal to establish the media channel in advance, while the 180 response does not have the information, and the calling terminal and the called terminal cannot establish the media channel in advance. After the invention is adopted, the proxy server can instantly determine the effective relay equipment of the call route, and can transmit the 183 response replied by the called terminal to the calling terminal, thereby leading the calling terminal and the called terminal to establish a media channel in advance.
4) The invention provides a specific resource use condition determining scheme aiming at various resources in the relay equipment, can effectively avoid the relay equipment from being selected to carry out call connection when some resources in the relay equipment have abnormal problems, and provides strong reliability for the whole realization of call routing selection.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.
Claims (8)
1. A method for selecting call route is applied to the Session Initiation Protocol (SIP) call establishment process, and comprises the following steps: when the proxy server determines that a called terminal of a call corresponds to a plurality of relay devices, selecting one relay device with available resources from the plurality of relay devices according to the resource use condition information of the plurality of relay devices, and routing the call to the selected relay device;
the relay devices send notification messages containing resource use condition information of the relay devices to the proxy server according to a preset period, or when the relay devices change the resource use condition of the relay devices or receive subscription messages containing resource use condition requests sent by the proxy server;
wherein,
the resource use condition information is whether the resource of the relay equipment which sends the notification message is available, when the occupancy rates of various resources of the relay equipment are smaller than a preset first threshold value, the resource of the relay equipment is determined to be available, and the sent notification message carries the information that the resource of the relay equipment is available; when the occupancy rate of one or more resources of the relay equipment is larger than or equal to a preset second threshold value, determining that the resources of the relay equipment are unavailable, and carrying the information that the resources of the relay equipment are unavailable in a sent notification message; when the occupancy rates of all the resources of the relay equipment are smaller than a second threshold value and not all the resources are smaller than a first threshold value, the relay equipment is determined to keep the original available or unavailable state; wherein the first threshold is less than or equal to the second threshold;
or,
the resource usage status information is an occupancy rate or an idle value of various resources in the relay device that sends the notification message, and the selecting one relay device that has available resources from the plurality of relay devices specifically includes: the proxy server determines whether the resources of the relay device are available according to the occupancy rates or idle values of various resources contained in the received notification message, and selects the relay device with the most available resources from the relay devices with available resources according to the preset priority of various resources.
2. The method of claim 1, wherein the proxy server, after receiving an announcement message, replies a success response to the relay device that sent the announcement message; and if the relay equipment which sends the notification message does not receive the successful response within the preset time, the relay equipment sends the notification message containing the resource use condition information of the relay equipment to the proxy server again.
3. The method of claim 1, wherein if there is a resource occupancy greater than or equal to a preset third threshold or a resource idle value less than or equal to a preset fourth threshold among the occupancy or idle values of the various resources included in the notification message, determining that the resource of the relay device that sent the notification message is unavailable, otherwise, determining that the resource of the relay device that sent the notification message is available.
4. The method of claim 1, wherein the resources of a relay device comprise: bandwidth resource, CPU resource, memory resource and voice channel resource.
5. A proxy server, for use in a SIP call setup procedure, the proxy server comprising: the system comprises an information sending unit, an information acquiring unit, a call determining unit and a call routing unit;
the information sending unit is used for sending a subscription message containing a resource use condition request to the relay equipment;
the information acquisition unit is used for acquiring the resource use condition information of the relay equipment from the notification message sent by the relay equipment; the resource use condition is various resource occupancy rates or idle values of the relay equipment;
the call determining unit is configured to determine, when the called terminal of the call corresponds to the plurality of relay devices, the relay devices available in the resources according to the resource occupancy rates or idle values of the plurality of relay devices acquired by the information acquiring unit, and select the relay device with the largest available resource from among the relay devices available in the resources according to the preset priorities of the various resources.
The call routing unit is used for routing the call to the relay equipment selected by the call determination unit.
6. The proxy server according to claim 5, wherein the information sending unit is further configured to reply a success response to the relay device after the information obtaining unit obtains the resource usage status information of the relay device.
7. A relay device, characterized in that the relay device comprises: a status determining unit and a message transmitting unit;
the state determining unit is used for determining the resource use state of the relay equipment; the resource use condition information is whether the resource of the relay equipment is available, when the occupancy rates of various resources in the relay equipment are smaller than a preset first threshold value, the resource of the relay equipment is determined to be available, when the occupancy rate of one resource in the relay equipment is larger than or equal to a preset second threshold value, the resource of the relay equipment is determined to be unavailable, when all the resources in the relay equipment are smaller than the second threshold value and not all the resources are smaller than the first threshold value, the relay equipment is determined to keep the original available or unavailable state, wherein the first threshold value is smaller than or equal to the second threshold value;
the message sending unit is configured to send the resource usage status determined by the status determining unit to the proxy server according to a preset period, or when a subscription message including a resource usage status request sent by the proxy server is received, or the resource usage status determined by the status determining unit changes.
8. The relay device according to claim 7, further comprising: the response receiving unit is used for receiving a successful response sent by the proxy server;
the message sending unit is further configured to, within a preset time after sending the resource usage status, resend the resource usage status to the proxy server if the response receiving unit does not receive a successful response sent by the proxy server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102268298A CN101404674B (en) | 2008-11-17 | 2008-11-17 | Call routing method, proxy server and relay device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102268298A CN101404674B (en) | 2008-11-17 | 2008-11-17 | Call routing method, proxy server and relay device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101404674A CN101404674A (en) | 2009-04-08 |
CN101404674B true CN101404674B (en) | 2011-09-21 |
Family
ID=40538538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102268298A Expired - Fee Related CN101404674B (en) | 2008-11-17 | 2008-11-17 | Call routing method, proxy server and relay device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101404674B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102026109A (en) * | 2009-09-11 | 2011-04-20 | 中兴通讯股份有限公司 | Route system and method of converged IP (Internet Protocol) messaging |
CN104994159A (en) * | 2015-06-30 | 2015-10-21 | 青岛海尔智能家电科技有限公司 | Distributed agent method and device based on AllJoyn, and mobile equipment |
CN106506875B (en) * | 2016-11-01 | 2019-08-20 | 上海携程商务有限公司 | The data monitoring system and method for distributed call center speech line connecting time |
CN110417824A (en) * | 2018-04-26 | 2019-11-05 | 石悌君 | A method of realizing network service |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930348A (en) * | 1997-03-20 | 1999-07-27 | Northern Telecom Limited | Dynamically controlled routing of calls in intelligent networks |
CN1440610A (en) * | 2000-05-04 | 2003-09-03 | Mci全球通讯公司 | Method and system for dynamic gateway selection in IP telephony network |
CN101193053A (en) * | 2006-11-23 | 2008-06-04 | 中兴通讯股份有限公司 | A multi-gateway route selection method based on central management |
CN100397843C (en) * | 2002-06-04 | 2008-06-25 | 思科技术公司 | Method and system for providing router redundancy, telecommunications equipment and router |
CN101277249A (en) * | 2007-03-27 | 2008-10-01 | 上海贝尔阿尔卡特股份有限公司 | Method and apparatus for selecting conversation route |
-
2008
- 2008-11-17 CN CN2008102268298A patent/CN101404674B/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930348A (en) * | 1997-03-20 | 1999-07-27 | Northern Telecom Limited | Dynamically controlled routing of calls in intelligent networks |
CN1440610A (en) * | 2000-05-04 | 2003-09-03 | Mci全球通讯公司 | Method and system for dynamic gateway selection in IP telephony network |
CN100397843C (en) * | 2002-06-04 | 2008-06-25 | 思科技术公司 | Method and system for providing router redundancy, telecommunications equipment and router |
CN101193053A (en) * | 2006-11-23 | 2008-06-04 | 中兴通讯股份有限公司 | A multi-gateway route selection method based on central management |
CN101277249A (en) * | 2007-03-27 | 2008-10-01 | 上海贝尔阿尔卡特股份有限公司 | Method and apparatus for selecting conversation route |
Also Published As
Publication number | Publication date |
---|---|
CN101404674A (en) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103634490B (en) | The gateway that a kind of enterprise network being provided for use SIP can be survived | |
US7809846B2 (en) | Resilient application layer overlay framework for converged communication over Internet protocol networks | |
JP4215645B2 (en) | Service access and conference system and method in communication network | |
KR101402433B1 (en) | Group call Capability query | |
JP4599617B2 (en) | Centralized controller for distributed processing of telecommunications features | |
CN101849424B (en) | Wireless communication apparatus and communication control method | |
US8170590B2 (en) | Method, system and apparatus for forking transmission of short message service | |
US20080205277A1 (en) | Congestion control in an IP network | |
CN101895569B (en) | Implementation method of video browsing, IMS video monitoring system and front monitoring front-end | |
US7984159B2 (en) | Apparatus, method, and terminal apparatus for maintaining connection | |
EP2740250A1 (en) | Method and apparatus for high performance low latency real time notification delivery | |
JP2008148313A (en) | Method and system for controlling establishment of communication channel for enabling transmission of multimedia information | |
CN100514940C (en) | Method for reorienting network communication port and network communication system | |
FI119312B (en) | Procedure for maintaining connection in telecommunication systems and telecommunications systems | |
CN101404674B (en) | Call routing method, proxy server and relay device | |
EP2797285B1 (en) | Method and apparatus for network communication | |
US20130142085A1 (en) | Call transfer processing in sip mode | |
US20060087973A1 (en) | Delay timers for managing internal state changes and messages in user equipment for real-time multimedia applications | |
KR101080383B1 (en) | VIP call setup method and VIP communication system performing the same | |
US8059678B1 (en) | Communication surge response system | |
KR100636279B1 (en) | Call control system and method using resource information of VIO system | |
JP2010183480A (en) | Apparatus and method for controlling request transmission, system, and program | |
KR20110043272A (en) | How to Provide Instant Messages on Multimedia Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110921 Termination date: 20191117 |
|
CF01 | Termination of patent right due to non-payment of annual fee |