CN108111700B - Busy call back method, device and server - Google Patents

Busy call back method, device and server Download PDF

Info

Publication number
CN108111700B
CN108111700B CN201810011981.8A CN201810011981A CN108111700B CN 108111700 B CN108111700 B CN 108111700B CN 201810011981 A CN201810011981 A CN 201810011981A CN 108111700 B CN108111700 B CN 108111700B
Authority
CN
China
Prior art keywords
terminal
called terminal
called
busy
call
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.)
Active
Application number
CN201810011981.8A
Other languages
Chinese (zh)
Other versions
CN108111700A (en
Inventor
罗娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201810011981.8A priority Critical patent/CN108111700B/en
Publication of CN108111700A publication Critical patent/CN108111700A/en
Application granted granted Critical
Publication of CN108111700B publication Critical patent/CN108111700B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42187Lines and connections with preferential service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42195Arrangements for calling back a calling subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/48Arrangements for recalling a calling subscriber when the wanted subscriber ceases to be busy

Abstract

The embodiment of the invention provides a busy call back method, a busy call back device and a server, and relates to the technical field of communication. When a calling terminal calls a first called terminal and the first called terminal is in a busy state, receiving first confirmation information used by the calling terminal for confirming and subscribing the busy callback service of the first called terminal; sending first terminal state subscription information to the first called terminal according to the first confirmation information; receiving first called idle state reporting information which is sent when a first called terminal changes from a busy state to an idle state and indicates that the first called terminal is in the idle state currently; and establishing a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information. After the calling terminal subscribes the call-back service in busy, the first called terminal sends the first called idle state reporting information after being idle, and the first called terminal does not need to be monitored by trial call, thereby avoiding the waste of communication resources and not limiting the calling of the calling terminal.

Description

Busy call back method, device and server
Technical Field
The invention relates to the technical field of communication, in particular to a busy call method, a busy call device and a server.
Background
In the telephone service, there is often a scenario that when a calling terminal calls a called terminal, it is found that the called terminal is in a busy state and cannot make a normal call, at this time, a busy call service can be subscribed, but the state of the called terminal can be obtained only by inefficiently trying to call the called terminal again and again, a normal call cannot be established until the called terminal is in an idle state, and before the busy callback service is not completed, the call service of the calling terminal is limited, and for the calling terminal, the communication experience is poor.
Disclosure of Invention
The embodiment of the invention provides a busy call back method, a busy call back device and a server.
The technical scheme adopted by the embodiment of the invention is as follows:
in a first aspect, an embodiment of the present invention provides a busy call back method, where the busy call back method includes: when a calling terminal calls a first called terminal and determines that the first called terminal is in a busy state, receiving first confirmation information used by the calling terminal for confirming and subscribing the busy callback service of the first called terminal; sending first terminal state subscription information to the first called terminal according to the first confirmation information; receiving first called idle state reporting information which is sent by the first called terminal based on the first terminal state subscription information and represents that the first called terminal is in the idle state currently when the first called terminal is changed from the busy state to the idle state; and establishing a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information.
In the technical solution provided in the foregoing first aspect, after receiving first confirmation information that a calling terminal subscribes to a busy callback service, the first terminal state subscription information is sent to a first called terminal, where the first called terminal actively reports first called idle state reporting information currently in an idle state when the busy state changes into the idle state, and when receiving the first called idle state reporting information, the first called terminal indicates that the first called terminal is currently idle, and can establish a call with the calling terminal. Therefore, the calling terminal relieves the pressure of the services on the core network to a certain extent by using the busy call back service under the condition that the core network does not open the busy call back authority. By receiving the first called idle state reporting information reported by the first called terminal, the first called terminal can be known to be in a busy state or an idle state, and then a call connection is established between the calling terminal and the first called terminal when the first called terminal is judged to be in the idle state. That is to say, in the present application, after subscribing the call back service, the calling terminal does not need to try to call the first called terminal repeatedly, and monitors the state of the first called terminal, thereby avoiding the technical problems of occupation and waste of communication resources caused by inefficient call trying monitoring, and achieving the technical effect of obtaining the idle state of the first called terminal timely and efficiently.
Optionally, with reference to the technical solution provided by the first aspect, in a first possible design of the first aspect, before establishing a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information, the method further includes: receiving second confirmation information used by the calling terminal for confirming subscription of the busy call back service of the second called terminal; and sending second terminal state subscription information to the second called terminal according to the second confirmation information, so that when the second called terminal changes from a busy state to an idle state, second called idle state reporting information which shows that the second called terminal is in the idle state at present is sent based on the second terminal state subscription information. In the application, after the calling terminal subscribes the busy callback service of the first called terminal, the calling service of the calling terminal is not limited, namely the calling terminal can still call other called terminals in the process of waiting for the first called terminal to be idle; for example, when a second called terminal is called and the second called terminal is in a busy state, the calling terminal can also subscribe the busy callback service of the second called terminal, so that the second called terminal reports the second called idle state reporting information after changing from the busy state to the idle state, and the technical effects that the calling terminal is not limited in calling after subscribing the busy callback service and can subscribe a plurality of busy callback services are realized.
Optionally, with reference to the technical solution provided by the first aspect, in a second possible design of the first aspect, the establishing a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information includes: obtaining the subscription time of the busy callback service of the first called terminal and the subscription time of the busy callback service of the second called terminal; and when the subscription time of the busy call back service of the first called terminal is determined to be earlier than the subscription time of the busy call back service of the second called terminal, establishing a call connection between the calling terminal and the first called terminal. In the method and the device, after the calling terminal subscribes the multiple busy call back services, the calling sequence of the multiple called terminals can be determined according to the subscription time of the busy call back services, and the technical effect that a user can call the first called terminal and the second called terminal according to the set calling sequence after subscribing the multiple busy call back services is achieved.
Optionally, with reference to the technical solution provided by the first aspect, in a third possible design of the first aspect, the establishing a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information includes: acquiring the priority of the first called terminal and the priority of the second called terminal; and when the priority of the first called terminal is higher than that of the second called terminal, establishing a call connection between the calling terminal and the first called terminal. In the application, after the calling terminal subscribes a plurality of busy call back services, whether the first called terminal or the second called terminal is to be called first can be determined according to the priority of the first called terminal and the priority of the second called terminal, so that the technical effect that after a user subscribes a plurality of busy call back services, the calling sequence can be determined according to the priority of the called terminals is realized.
Optionally, with reference to the technical solution provided by the first aspect, in a fourth possible design of the first aspect, the establishing a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information includes: initiating a first call request to the calling terminal based on the first called idle state reporting information; after the calling terminal responds to the first call request, a second call request is initiated to the first called terminal; and after the first called terminal responds to the second call request, establishing the call connection between the calling terminal and the first called terminal. In the application, after the calling terminal subscribes the busy callback service, the calling terminal only needs to hang up to wait, when the call connection between the calling terminal and the first called terminal is determined to be established, the calling terminal is called first, the first called terminal is called after the calling terminal is connected, and the calling terminal and the first called terminal can communicate after the first called terminal is connected, so that the call connection rate of calling the first called terminal is improved, and better communication experience is brought to a user.
In a second aspect, an embodiment of the present invention further provides a busy call back device, where the busy call back device includes: the first receiving module is used for receiving first confirmation information, which is used for confirming and subscribing the busy callback service of the first called terminal, of the calling terminal when the calling terminal calls the first called terminal and the first called terminal is determined to be in a busy state; the subscription module is used for sending first terminal state subscription information to the first called terminal according to the first confirmation information; a second receiving module, configured to receive first called idle state reporting information, which is sent based on the first terminal state subscription information and indicates that the first called terminal is currently in an idle state when the first called terminal changes from the busy state to the idle state; and the call establishing module is used for establishing call connection between the calling terminal and the first called terminal based on the first called idle state reporting information.
In the technical solution provided in the second aspect of the present invention, after receiving first confirmation information that a calling terminal subscribes to a busy callback service, a first receiving module sends first terminal state subscription information to a first called terminal, the first called terminal actively reports first called idle state reporting information currently in an idle state when the busy state changes into the idle state according to the first terminal state subscription information, and when receiving the first called idle state reporting information, a second receiving module indicates that the first called terminal is currently idle, and can establish a call with the calling terminal. Therefore, the calling terminal relieves the pressure of the services on the core network to a certain extent by using the busy call back service under the condition that the core network does not open the busy call back authority. The busy call back device can know whether the first called terminal is in a busy state or an idle state by judging whether the first called idle state reporting information reported by the first called terminal is received or not, and then call connection is established between the calling terminal and the first called terminal when the first called terminal is judged to be in the idle state. That is to say, in the present application, after subscribing the call back service, the calling terminal does not need to try to call the first called terminal repeatedly, and monitors the state of the first called terminal, thereby avoiding the technical problems of occupation and waste of communication resources caused by inefficient call trying monitoring, and achieving the technical effect of obtaining the idle state of the first called terminal timely and efficiently.
Optionally, with reference to the technical solution provided by the second aspect, in a first possible design of the second aspect, the first receiving module is further configured to receive second confirmation information that the calling terminal is configured to confirm subscription to a busy callback service of a second called terminal; the subscription module is further configured to send second terminal state subscription information to the second called terminal according to the second confirmation information, so that when the second called terminal changes from a busy state to an idle state, second called idle state reporting information indicating that the second called terminal is currently in the idle state is sent based on the second terminal state subscription information. In the application, after the calling terminal subscribes the busy callback service of the first called terminal, the calling service of the calling terminal is not limited, namely the calling terminal can still call other called terminals in the process of waiting for the first called terminal to be idle; for example, when a second called terminal is called and the second called terminal is in a busy state, the calling terminal can also subscribe the busy callback service of the second called terminal, so that the second called terminal reports the second called idle state reporting information after changing from the busy state to the idle state, and the technical effects that the calling terminal is not limited in calling after subscribing the busy callback service and can subscribe a plurality of busy callback services are realized.
Optionally, with reference to the technical solution provided by the second aspect, in a second possible design of the second aspect, the call establishment module is configured to establish a call connection between the calling terminal and the first called terminal when determining that the subscription time of the busy callback service of the first called terminal is earlier than the subscription time of the busy callback service of the second called terminal, where the call establishment module is used for the subscription time of the busy callback service of the first called terminal and the subscription time of the busy callback service of the second called terminal. In the method and the device, after the calling terminal subscribes the multiple busy call back services, the calling sequence of the multiple called terminals can be determined according to the subscription time of the busy call back services, and the technical effect that a user can call the first called terminal and the second called terminal according to the set calling sequence after subscribing the multiple busy call back services is achieved.
Optionally, with reference to the technical solution provided by the second aspect, in a third possible design of the second aspect, the call establishing module is configured to obtain a priority of the first called terminal and a priority of the second called terminal, and establish a call connection between the calling terminal and the first called terminal when it is determined that the priority of the first called terminal is higher than the priority of the second called terminal. In the application, after the calling terminal subscribes a plurality of busy call back services, whether the first called terminal or the second called terminal is to be called first can be determined according to the priority of the first called terminal and the priority of the second called terminal, so that the technical effect that after a user subscribes a plurality of busy call back services, the calling sequence can be determined according to the priority of the called terminals is realized.
Optionally, with reference to the technical solution provided by the second aspect, in a fourth possible design of the second aspect, the call establishing module is configured to initiate a first call request to the calling terminal based on the first called idle state reporting information, initiate a second call request to the first called terminal after the calling terminal responds to the first call request, and establish a call connection between the calling terminal and the first called terminal after the first called terminal responds to the second call request. In the application, after the calling terminal subscribes the busy callback service, the calling terminal only needs to wait on hook, when the call establishment module determines to establish the call connection between the calling terminal and the first called terminal, the call establishment module calls the calling terminal first, calls the first called terminal after the calling terminal is connected, and can perform call between the calling terminal and the first called terminal after the first called terminal is connected, so that the call completing rate of calling the first called terminal is improved, and better communication experience is brought to a user.
In a third aspect, an embodiment of the present invention further provides a server, including a computer-readable storage medium storing a computer program and a processor, where the computer program is read by the processor and executed to implement the method in the foregoing aspects.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the embodiments of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present invention and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained according to the drawings without inventive efforts.
Fig. 1 is a schematic application environment diagram of a busy call back method and apparatus according to an embodiment of the present invention.
Fig. 2 is a schematic flow chart illustrating a busy call method according to an embodiment of the present invention.
Fig. 3 is a flowchart illustrating a busy call method according to another embodiment of the present invention.
Fig. 4 is a flowchart illustrating a busy call method according to another embodiment of the present invention.
Fig. 5 is a schematic flowchart illustrating a busy call method in the scenario illustrated in fig. 1 according to an embodiment of the present invention.
Fig. 6 is a schematic diagram illustrating functional modules of a busy call back device according to an embodiment of the present invention.
Icon: 100-a server; 200-core network; 300-a terminal device; 400-an access device; 500-busy call back device; 510-a first receiving module; 520-subscription module; 530-a second receiving module; 540-Call establishment Module.
Detailed Description
In the process of implementing the technical scheme of the embodiment of the invention, the inventor of the application finds that:
the basic flow of the traditional busy call back service is as follows:
the user C opens the call-back service when busy;
a user A calls a user B, and after the user B is off-hook, the user A and the user B normally talk;
in the process of the conversation between the user A and the user B, the user C dials the number of the user B;
at the moment, the user C listens the prompt tone to subscribe the callback service, and after the callback service is successfully subscribed, the core network performs call trial monitoring on the user B and monitors the state of the user B;
after waiting for user B to be idle, the exchange system immediately calls user C, after user C is off-hook, the user C listens to the prompt tone "call back for you", then calls user B, and after user B is off-hook, user C and user B can realize conversation to complete the call back service.
Based on the above research, the inventor finds, through multi-party research, that in an actual application scenario, the user experience is not good due to the fact that the busy call mode is limited by many services, and the main reason is as follows: firstly, depending on the service of the core network, the user does not open the busy call-back permission on the core network, can not use the busy call-back service, and the use cost of the user is increased; secondly, the user who subscribes the call-back service in busy hours is not allowed to make a call and the call-out is limited before the service is finished; thirdly, the core network of the traditional call back service monitors the called user for trying call, monitors the state of the called user, and increases the pressure of the core network to a certain extent; fourthly, if other users call the service user before the callback service is not completed, the subscribed call-back service on busy at this time can be directly cancelled; fifthly, the user can only subscribe the busy call-back of one user, but can not subscribe the multi-path busy call-back.
The above prior art solutions have shortcomings which are the results of practical and careful study of the inventor, and therefore, the discovery process of the above problems and the solutions proposed by the following embodiments of the present invention to the above problems should be the contribution of the inventor to the present invention in the course of the present invention.
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. The components of embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present invention, presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present invention without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures. Meanwhile, in the description of the present invention, the terms "first", "second", and the like are used only for distinguishing the description, and are not to be construed as indicating or implying relative importance.
The method and the device for call back on busy provided by the embodiment of the invention can be applied to the application environment as shown in figure 1. As shown in fig. 1, the server 100 includes a plurality of terminal devices 300 (e.g., a terminal device 300 corresponding to a user a and a terminal device 300 corresponding to a user C), and the terminal devices 300 located under the server 100 can establish a call connection with each other; the access device 400 includes a plurality of terminal devices 300 (e.g., the terminal device 300 corresponding to the user a and the terminal device 300 corresponding to the user C), and the terminal devices 300 located in the same access device 400 may also establish a call connection with each other. Since the server 100 and the access device 400 are both connected to the core network 200, each terminal device 300 under the server 100 can establish a call connection with each terminal device 300 under the access device 400 through the core network 200.
In this embodiment, the server 100 adopts an IP-based corporate telephone system (IPPBX), and can be widely applied to office institutions such as enterprises, where the user a and the user C are users under the server 100 and are registered in the core network 200 by proxy through the server 100.
The Access Device 400 may be an Access Gateway (AG), an Integrated Access Device (IAD), and the like, and the terminal Device 300 may be connected to the core network 200 through the Access Device 400. The user B and the user D may be registered users of the core network 200, or users of other operators, or may be local users, or domestic or international long distance users.
The core network 200 may adopt a soft switch or an IMS (IP Multimedia Subsystem), which is a brand new Multimedia Service form and can meet the requirements of the current terminal clients for more novel and diversified Multimedia services, and the corresponding application layer device may include a Service Control Point (SCP), an Application Server (AS), a Home location Register (Home L registration, H L R), etc., where the Service Control Point is an intelligent network element that determines how a call is processed and provides transmission and necessary TCAP application indication using a protocol, the application Server may be used to provide Service logic, and the Home location Register is used to take charge of a database managed by a mobile subscriber, permanently store and record subscription data of the subscriber in an administrative domain, and dynamically update the location information of the subscriber so AS to provide network routing of the called subscriber in the call Service.
In this embodiment, each terminal device 300 located under the server 100 may register a busy callback service on the server 100, subscribe to the busy callback service from the server 100 when calling another one or more terminal devices 300 in a busy state, and the server 100 realizes a call connection between a calling party and a called party after determining that the called party is in an idle state.
It should be noted that, in this embodiment, the terminal device 300 may be a mobile phone, a fixed phone, or an IP phone terminal, which is not limited in this application.
Fig. 2 is a schematic flow chart of a busy call method according to an embodiment of the present invention. It should be noted that the busy call back method according to the embodiment of the present invention is not limited by the specific sequence shown in fig. 2 and described below, and it should be understood that in other embodiments, the sequence of some steps in the busy call back method according to the present invention may be interchanged according to actual needs, or some steps may be omitted or deleted. The busy call method can be applied to the server 100 described above, and the specific process shown in fig. 2 will be described in detail below.
Step S101, when a calling terminal calls a first called terminal and determines that the first called terminal is in a busy state, receiving first confirmation information used by the calling terminal for confirming and subscribing the busy callback service of the first called terminal.
The calling terminal opens the busy call back service on the server 100, has the right of busy call back, and can use the busy call back service through the server 100 without opening the busy call back service on the core network 200, thereby saving the use cost of the user. When the calling terminal dials a number corresponding to the first called terminal and initiates a call request to the first called terminal, the server 100 forwards the call request of the calling terminal to the first called terminal. If the first called terminal is in a call state, the current busy state is fed back to the server 100; the server 100 determines that the first called terminal is in a busy state according to the information fed back by the first called terminal, sends a prompt message to the calling terminal to prompt the calling terminal that the first called terminal is busy at present and whether to subscribe the busy callback service of the first called terminal, and sends a first confirmation message to the server 100 when the calling terminal determines to subscribe the busy callback service. For example, the prompt received by the calling terminal may be "the user is busy, subscribe to the call back service on busy" # 59# ", the user may send the first confirmation message to the server 100 by pressing a button" # 59# ", and the server 100 prompts the user" subscribe successfully ". It should be understood that the key for the user to subscribe to the busy call back service is not limited to "# 59 #", and other key ways may be defined.
Step S102, sending first terminal state subscription information to the first called terminal according to the first confirmation information.
In this embodiment, when receiving first confirmation information sent by a calling terminal, a server 100 sends first terminal state subscription information to a first called terminal according to the first confirmation information, where the first terminal state subscription information is used to request subscription of a busy-idle state of the first called terminal, and when returning a response message of successful subscription to the server 100, the first called terminal indicates that the server 100 has successfully subscribed the busy-idle state of the first called terminal, so that the first called terminal will actively report that the first called terminal is currently in an idle state when the busy state is changed into the idle state and actively report that the first called terminal is currently in the busy state when the idle state is changed into the busy state. In the present application, the server 100 subscribes to the busy/idle state of the first called terminal by using a Session Initiation Protocol (SIP), and the server 100 does not need to frequently perform a call trial on the first called terminal to monitor the idle state of the first called terminal, thereby avoiding waste of communication resources and relieving the service pressure of the core network 200 to a certain extent.
Step S103, receiving first called idle state reporting information, which is sent based on the first terminal state subscription information and indicates that the first called terminal is currently in the idle state when the first called terminal changes from the busy state to the idle state.
In this embodiment, since the server 100 has successfully subscribed to the busy-idle state of the first called terminal, when the first called terminal finishes the call and changes from the busy state to the idle state, the server 100 will be actively reported with first called idle state reporting information, where the first called idle state reporting information is used to tell the server 100 that the first called terminal is currently in the idle state.
And step S104, establishing a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information.
In this embodiment, when the server 100 receives the first called idle state reporting information reported by the first called terminal, it indicates that the first called terminal is in an idle state, and can receive a call.
As an implementation manner, the server 100 initiates a first call request to the calling terminal based on the first called idle state reporting information, initiates a second call request to the first called terminal after the calling terminal responds to the first call request, and establishes a call connection between the calling terminal and the first called terminal after the first called terminal responds to the second call request. For example, when the server 100 receives the first called idle state reporting information, the server 100 first calls the calling terminal, waits for the calling terminal to go off-hook (i.e., responds to the first call request), and plays a warning tone to the calling terminal, and the server 100 calls the first called terminal again, at this time, the calling terminal can hear the warning tone, "call you back", and when the first called terminal goes off-hook (i.e., responds to the second call request), the calling terminal and the first called terminal establish a call connection, thereby implementing a normal call. It should be noted that, in this embodiment, after the server 100 receives the first called idle state reporting information, the calling terminal is called, but the calling terminal is in a busy state, the server 100 may directly cancel the call back service when the call is busy, or perform the next call at regular time, and cancel the service when the number of calls exceeds a set value (for example, 3 times).
Further, in order to meet the requirement of a user for subscribing multiple paths of call backs on busy occasions, after calling a first called terminal in a call state and subscribing to a call back service on busy occasions, a calling terminal may also call another one or more called terminals in the call state and subscribe to the call back service on busy occasions, and the server 100 may successively call the multiple called terminals in an idle state according to a predetermined call back policy.
Fig. 3 is a schematic flow chart of a busy call method according to another embodiment of the present invention. In the busy call back method in this embodiment, after the calling terminal calls the first called terminal in the call state and subscribes the busy call back service of the first called terminal, the calling terminal calls the second called terminal in the call state and subscribes the busy call back service of the second called terminal, and when the server 100 determines that the first called terminal is in the idle state, the call back policy adopted is as follows: and determining the calling sequence according to the subscription time of the busy call back service of the first called terminal and the second called terminal. As shown in fig. 3, compared with the previous embodiment, before the call connection is established between the calling terminal and the first called terminal, the method for callback to busy in this embodiment further includes:
s201, receiving second confirmation information that the calling terminal is configured to confirm to subscribe to the busy callback service of the second called terminal.
In this embodiment, after subscribing to the busy callback service of the first called terminal, the calling terminal initiates a call to the second called terminal while waiting for the first called terminal to become in an idle state, when the second called terminal is in a busy state, the server 100 prompts the calling terminal whether to subscribe to the busy callback service of the second called terminal, and when the calling terminal determines to subscribe, the server 100 sends second confirmation information.
Step S202, sending second terminal state subscription information to the second called terminal according to the second confirmation information, so as to send second called idle state reporting information indicating that the second called terminal is currently in the idle state to the server 100 based on the second terminal state subscription information when the second called terminal changes from the busy state to the idle state.
In this embodiment, similar to the process of the calling terminal subscribing to the busy callback service of the first called terminal, the server 100 sends second terminal state subscription information to the second called terminal according to the second confirmation information, and after the second called terminal returns a response message of successful subscription to the server 100, the second called terminal indicates that the busy-idle state of the second called terminal has been successfully subscribed, so that the second called terminal will actively report that the second called terminal is currently in the idle state when the busy state is changed into the idle state.
Step S203, obtaining the subscription time of the busy callback service of the first called terminal and the subscription time of the busy callback service of the second called terminal. .
In this embodiment, after successfully subscribing the busy/idle states of the first called terminal and the second called terminal, the server 100 generates subscription contents corresponding to the first called terminal and the second called terminal and writes the subscription contents into the database, where the subscription contents include, but are not limited to, a calling number, a called number, subscription time of a busy-call-back service, priority, and the like. The server 100 may obtain the subscription time of the busy callback service of the first called terminal and the subscription time of the busy callback service of the second called terminal according to the subscription content stored in the database.
Step S204, when it is determined that the subscription time of the busy callback service of the first called terminal is earlier than the subscription time of the busy callback service of the second called terminal, establishing a call connection between the calling terminal and the first called terminal.
In this embodiment, after the server 100 writes the subscription content into the database, the server 100 may determine the call sequence of the first called terminal and the second called terminal according to the order of the subscription times of the busy callback services of the first called terminal and the second called terminal. For example, if the subscription time of the busy callback service of the first called terminal is earlier than the subscription time of the busy callback service of the second called terminal, the determined call sequence is that the first called terminal precedes the second called terminal, when the server 100 calls back the first called terminal and the second called terminal, the call connection between the calling terminal and the first called terminal is established first, and after the call between the calling terminal and the first called terminal is ended, the call connection between the calling terminal and the second called terminal is established.
Fig. 4 is a schematic flow chart of a busy call method according to another embodiment of the present invention. In the busy call back method in this embodiment, the subscription contents corresponding to the first called terminal and the second called terminal, except for the subscription time of the calling number, the called number, and the busy call back service, may further include a priority, and when the server 100 determines that the first called terminal is in the idle state, the call back policy adopted is: and determining the calling sequence according to the respective priorities of the first called terminal and the second called terminal. As shown in fig. 4, the busy call back method in this embodiment further includes:
step S201, receiving second confirmation information that the calling terminal is configured to confirm subscription to the busy callback service of the second called terminal.
In this embodiment, after subscribing to the busy callback service of the first called terminal, the calling terminal initiates a call to the second called terminal while waiting for the first called terminal to become in an idle state, when the second called terminal is in a busy state, the server 100 prompts the calling terminal whether to subscribe to the busy callback service of the second called terminal, and when the calling terminal determines to subscribe, the server 100 sends second confirmation information.
Step S202, sending second terminal state subscription information to the second called terminal according to the second confirmation information, so as to send second called idle state reporting information indicating that the second called terminal is currently in the idle state to the server 100 based on the second terminal state subscription information when the second called terminal changes from the busy state to the idle state.
In this embodiment, similar to the process of the calling terminal subscribing to the busy callback service of the first called terminal, the server 100 sends second terminal state subscription information to the second called terminal according to the second confirmation information, and after the second called terminal returns a response message of successful subscription to the server 100, the second called terminal indicates that the busy-idle state of the second called terminal has been successfully subscribed, so that the second called terminal will actively report that the second called terminal is currently in the idle state when the busy state is changed into the idle state.
Step S303, obtaining the priority of the first called terminal and the priority of the second called terminal.
In this embodiment, after successfully subscribing the busy/idle states of the first called terminal and the second called terminal, the server 100 generates subscription contents corresponding to the first called terminal and the second called terminal and writes the subscription contents into the database, where the subscription contents include but are not limited to a calling number, a called number, subscription time of a busy/call-back service, a priority level, and the like, and the priority level of the first called terminal and the priority level of the second called terminal may be determined by the calling terminal. For example, if a call to the first called terminal is urgent, the priority of the first called terminal may be set to be highest.
Step S304, when the priority of the first called terminal is higher than the priority of the second called terminal, establishing a call connection between the calling terminal and the first called terminal.
In this embodiment, after the server 100 writes the subscription content into the database, the server 100 may determine the call sequence of the first called terminal and the second called terminal according to the priorities corresponding to the first called terminal and the second called terminal. For example, if the priority of the first called terminal is higher than that of the second called terminal, the determined call sequence is that the first called terminal is prior to the second called terminal, when the server 100 calls back the first called terminal and the second called terminal, the call connection between the calling terminal and the first called terminal is established first, and after the call between the calling terminal and the first called terminal is ended, the call connection between the calling terminal and the second called terminal is established.
It should be noted that, in this embodiment, if the priorities of the first called terminal and the second called terminal are the same, the server 100 may determine the call sequence according to the order of the subscription times of the busy callback services of the first called terminal and the second called terminal.
It should be understood that, in this embodiment, the server 100 may determine the call sequence according to the subscription time of the busy callback service of the first called terminal and the second called terminal or the priority of the first called terminal and the second called terminal, and the server 100 calls the first called terminal and the second called terminal according to the determined call sequence regardless of who the first called terminal and the second called terminal are in the idle state first or in the idle state at the same time. For example, the second called terminal is in an idle state, the first called terminal is not in the idle state, but the calling sequence of the first called terminal is prior to that of the second called terminal, at this time, the server 100 does not establish the call connection between the calling terminal and the second called terminal first, but establishes the call connection between the calling terminal and the first called terminal until the first called terminal is idle, and establishes the call connection between the calling terminal and the second called terminal after the call between the calling terminal and the first called terminal is finished. Of course, as another embodiment, the server 100 may also establish the calls between the calling terminal and the plurality of called terminals according to a policy of who calls first when the plurality of called terminals are in the idle state, and according to a predetermined calling sequence when the plurality of called terminals are in the idle state.
It should be further noted that, in this embodiment, the calling terminal is not limited to subscribe to two busy callback services of the first called terminal and the second called terminal, in practice, the calling terminal may also subscribe to the busy callback services of 3, 4, and so on, according to actual needs, and the callback policies of the multiple called terminals may refer to the callback policies of the first called terminal and the second called terminal.
As shown in fig. 5, in order to describe the busy call method provided in the foregoing embodiment more clearly, in combination with the application scenario shown in fig. 1, taking the terminal device 300 corresponding to the user C in fig. 1 as a calling terminal, the terminal device 300 corresponding to the user B as a first called terminal, and the terminal device 300 corresponding to the user D as a second called terminal, and with reference to fig. 1, fig. 2, and fig. 3, the whole process is described in detail.
Step S11-step S19 are processes of dialing the number of the user B for the user C, finding that the user B is in a busy state and subscribing the call-back service in the busy state for the user C. For example, after the user C initiates an INVITE to the user B, the server 100 forwards the INVITE to the user B, the user B is talking with another user (e.g., the user a), the current Busy (486Busy) is fed back to the server 100, the server 100 receives the current Busy message fed back by the user B, and prompts the user C that "the user B is Busy, subscribes the callback invitation '. 59 #', and sends a first confirmation message to the server 100 after the user presses a key '. 59 #', where the Busy callback service subscription is successful. Then, the server 100 sends first terminal status subscription information SUBSCRIBE to the user B according to the first confirmation information, and when receiving the information (200OK) fed back by the user B, the server 100 confirms that the busy-idle status subscription of the user B is successful.
Steps S21 to S29 are processes of subscribing the busy/idle state of the user B, waiting for the user B to report the first called idle state report information, calling another user (i.e., the user D) by the user C, and discovering that the user D is also in the busy state, and subscribing the busy/idle state of the user D. The process is similar to the above steps S11-S19, and is not repeated here.
Steps S31 to S39 are the process of the server 100 establishing the call connection between the user C and the user B when the user B is in the idle state after the call with the user a is ended. When the user B is idle, the first called idle state reporting information (Notify) is reported to the server 100, the server 100 calls the user C first according to the first called idle state reporting information, when the user C is connected, the server 100 calls the user B, and when the user B is connected, the user C and the user B can communicate.
Similarly, steps S41 to S49 show a process in which the server 100 establishes a call connection between the user D and the user B when the user D is in an idle state, which is similar to steps S31 to S39 and will not be described herein again.
It should be appreciated that when subscriber C subscribes to the busy callback service of subscriber B and subscriber D, the server 100 may determine the call order of subscriber B and subscriber D according to the callback policy described above. For example, when it is determined that user B is called first, user D needs to wait in a queue, and after the call between user B and user C is ended, the server 100 re-establishes the call connection between user C and user D. When user D or user B is in idle state, but the server 100 calls user C in busy state, the server 100 can make the next callback to user C at regular time.
Referring to fig. 6, a functional module diagram of a busy call device 500 according to an embodiment of the present invention is shown. It should be noted that the busy call back device 500 according to the embodiment of the present invention has the same basic principle and the same technical effect as the busy call back method described above, and for a brief description, reference may be made to corresponding contents in the above method embodiment for a part not mentioned in this embodiment. The busy call device 500 is applied to the server 100, and includes a first receiving module 510, a subscribing module 520, a second receiving module 530, and a call establishing module 540.
The first receiving module 510 is configured to receive first confirmation information that the calling terminal is configured to confirm subscription to a busy callback service of a first called terminal when the calling terminal calls the first called terminal and determines that the first called terminal is in a busy state.
In this embodiment, the first receiving module 510 is further configured to receive second confirmation information, which is used by the calling terminal to confirm subscription to the busy callback service of the second called terminal, when the calling terminal calls the second called terminal and determines that the second called terminal is in a busy state.
It is understood that the first receiving module 510 may perform the steps S101 and S201.
The subscription module 520 is configured to send first terminal status subscription information to the first called terminal according to the first confirmation information.
When the calling terminal subscribes to the busy callback service of the second called terminal, the subscription module 520 is further configured to send second terminal state subscription information to the second called terminal according to the second confirmation information, so that when the second called terminal changes from a busy state to an idle state, second called idle state reporting information indicating that the second called terminal is currently in the idle state is sent to the server 100 based on the second terminal state subscription information.
It is understood that the subscription module 520 may perform the steps S102 and S202.
The second receiving module 530 is configured to receive first called idle state reporting information, which is sent based on the first terminal state subscription information and indicates that the first called terminal is currently in the idle state when the first called terminal changes from the busy state to the idle state.
In this embodiment, the second receiving module 530 is further configured to receive second called idle state reporting information, which is sent based on second terminal state subscription information and indicates that the second called terminal is currently in the idle state when the second called terminal changes from the busy state to the idle state.
It is understood that the second receiving module 530 can perform the step S103.
The call establishing module 540 is configured to establish a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information.
In this embodiment, the call establishing module 540 is configured to initiate a first call request to the calling terminal based on the first called idle state reporting information, initiate a second call request to the first called terminal after the calling terminal responds to the first call request, and establish a call connection between the calling terminal and the first called terminal after the first called terminal responds to the second call request.
As an implementation manner, after the calling terminal subscribes the busy callback service of the first called terminal and the second called terminal, when the second receiving module 530 receives the first called idle state reporting information, the call establishing module 540 is configured to obtain a subscription time of the busy callback service of the first called terminal and a subscription time of the busy callback service of the second called terminal, and establish a call connection between the calling terminal and the first called terminal when it is determined that the subscription time of the busy callback service of the first called terminal is earlier than the subscription time of the busy callback service of the second called terminal.
As another implementation manner, the call establishing module 540 is configured to obtain the priority of the first called terminal and the priority of the second called terminal, and establish a call connection between the calling terminal and the first called terminal when it is determined that the priority of the first called terminal is higher than the priority of the second called terminal.
It is understood that the call establishing module 540 can perform the steps S104, S203, S204, S303 and S304.
An embodiment of the present invention further provides a server 100, which includes a computer-readable storage medium storing a computer program and a processor, where the computer program is read by the processor and executed to implement all the steps described in the method embodiments shown in fig. 2, fig. 3, and fig. 4.
In summary, according to the busy call back method, the device and the server provided by the embodiment of the present invention, when a calling terminal calls a first called terminal and determines that the first called terminal is in a busy state, the server receives first confirmation information that the calling terminal is used to confirm subscription of a busy call back service of the first called terminal; sending first terminal state subscription information to the first called terminal according to the first confirmation information; receiving first called idle state reporting information which is sent by the first called terminal based on the first terminal state subscription information and represents that the first called terminal is in the idle state currently when the first called terminal is changed from the busy state to the idle state; and establishing a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information. In the embodiment, the busy-idle state of the called terminal is subscribed, so that the called terminal can actively report the idle state report information indicating that the called terminal is currently in the idle state when the called terminal is idle, and a server is not required to repeatedly perform call trial monitoring on the called terminal, thereby avoiding the waste of communication resources and relieving the service pressure of a core network to a certain extent. The user who subscribes the call-back service in busy hours can still call other users without limiting the call service before the service is completed, thereby improving the user experience; and if the subscribed user is idle at the moment, entering queue waiting. And the user subscribing the call-back service on busy occasions does not delete the queuing queue and still takes effect if other users dial the user before the service is finished. The method and the device can meet the requirement that the user can subscribe the busy call-back of a plurality of users, and the user under the server can still use the busy call-back service under the condition that the core network does not activate the busy call-back service.
It is noted that, in this document, relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.

Claims (9)

1. A busy call back method, applied to a server, wherein the server is connected to a core network, the method comprising:
when a calling terminal calls a first called terminal and determines that the first called terminal is in a busy state, receiving first confirmation information used by the calling terminal for confirming and subscribing the busy callback service of the first called terminal;
sending first terminal state subscription information to the first called terminal according to the first confirmation information;
receiving first called idle state reporting information which is sent by the first called terminal based on the first terminal state subscription information and represents that the first called terminal is in the idle state currently when the first called terminal is changed from the busy state to the idle state;
establishing a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information;
after the calling terminal calls the first called terminal in a call state and subscribes the busy call back service of the first called terminal, and before the calling terminal establishes call connection with the first called terminal, receiving second confirmation information used by the calling terminal for confirming the subscription of the busy call back service of a second called terminal;
and sending second terminal state subscription information to the second called terminal according to the second confirmation information, so that when the second called terminal changes from a busy state to an idle state, second called idle state reporting information which shows that the second called terminal is in the idle state at present is sent based on the second terminal state subscription information.
2. A busy call back method according to claim 1, wherein said establishing a call connection between said calling terminal and said first called terminal based on said first called idle status report information comprises:
obtaining the subscription time of the busy callback service of the first called terminal and the subscription time of the busy callback service of the second called terminal;
and when the subscription time of the busy call back service of the first called terminal is determined to be earlier than the subscription time of the busy call back service of the second called terminal, establishing a call connection between the calling terminal and the first called terminal.
3. A busy call back method according to claim 1, wherein said establishing a call connection between said calling terminal and said first called terminal based on said first called idle status report information comprises:
acquiring the priority of the first called terminal and the priority of the second called terminal;
and when the priority of the first called terminal is higher than that of the second called terminal, establishing a call connection between the calling terminal and the first called terminal.
4. A busy call back method according to claim 1, wherein said establishing a call connection between said calling terminal and said first called terminal based on said first called idle status report information comprises:
initiating a first call request to the calling terminal based on the first called idle state reporting information;
after the calling terminal responds to the first call request, a second call request is initiated to the first called terminal;
and after the first called terminal responds to the second call request, establishing the call connection between the calling terminal and the first called terminal.
5. A busy call back device, applied to a server, wherein the server is connected to a core network, the busy call back device comprising:
the first receiving module is used for receiving first confirmation information, which is used for confirming and subscribing the busy callback service of the first called terminal, of the calling terminal when the calling terminal calls the first called terminal and the first called terminal is determined to be in a busy state;
the subscription module is used for sending first terminal state subscription information to the first called terminal according to the first confirmation information;
a second receiving module, configured to receive first called idle state reporting information, which is sent based on the first terminal state subscription information and indicates that the first called terminal is currently in an idle state when the first called terminal changes from the busy state to the idle state;
a call establishing module, configured to establish a call connection between the calling terminal and the first called terminal based on the first called idle state reporting information;
the first receiving module is further configured to receive second confirmation information, which is used by the calling terminal to confirm subscription to the busy callback service of a second called terminal, after the calling terminal calls the first called terminal in a call state and subscribes to the busy callback service of the first called terminal, and before a call connection is established between the calling terminal and the first called terminal;
the subscription module is further configured to send second terminal state subscription information to the second called terminal according to the second confirmation information, so that when the second called terminal changes from a busy state to an idle state, second called idle state reporting information indicating that the second called terminal is currently in the idle state is sent based on the second terminal state subscription information.
6. A busy call back device according to claim 5, wherein the call establishment module is configured to obtain a subscription time of the busy call back service of the first called terminal and a subscription time of the busy call back service of the second called terminal, and establish a call connection between the calling terminal and the first called terminal when it is determined that the subscription time of the busy call back service of the first called terminal is earlier than the subscription time of the busy call back service of the second called terminal.
7. The busy call back device of claim 5, wherein,
the call establishing module is used for obtaining the priority of the first called terminal and the priority of the second called terminal, and establishing call connection between the calling terminal and the first called terminal when the priority of the first called terminal is higher than the priority of the second called terminal.
8. A busy call back device according to claim 5, wherein the call establishing module is configured to initiate a first call request to the calling terminal based on the first called idle state report information, initiate a second call request to the first called terminal after the calling terminal responds to the first call request, and establish a call connection between the calling terminal and the first called terminal after the first called terminal responds to the second call request.
9. A server, comprising a computer-readable storage medium storing a computer program and a processor, the computer program being read and executed by the processor to implement the method according to any one of claims 1-4.
CN201810011981.8A 2018-01-05 2018-01-05 Busy call back method, device and server Active CN108111700B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810011981.8A CN108111700B (en) 2018-01-05 2018-01-05 Busy call back method, device and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810011981.8A CN108111700B (en) 2018-01-05 2018-01-05 Busy call back method, device and server

Publications (2)

Publication Number Publication Date
CN108111700A CN108111700A (en) 2018-06-01
CN108111700B true CN108111700B (en) 2020-07-24

Family

ID=62219552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810011981.8A Active CN108111700B (en) 2018-01-05 2018-01-05 Busy call back method, device and server

Country Status (1)

Country Link
CN (1) CN108111700B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110753162B (en) * 2018-07-23 2021-06-11 大唐移动通信设备有限公司 Method, device and storage medium for realizing call back in busy condition
CN113489852B (en) * 2021-07-06 2023-09-29 厦门亿联网络技术股份有限公司 Voice transmission call method, device, equipment and storage medium based on IP
CN113542507B (en) * 2021-07-20 2023-06-23 江苏满运物流信息有限公司 Communication reminding method, device, equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040102954A (en) * 2003-05-30 2004-12-08 유티스타콤코리아 유한회사 Method for call completion service
CN1829266A (en) * 2005-03-03 2006-09-06 华为技术有限公司 Method and system for realizing call completion service on busy in packet domain
CN101217598B (en) * 2007-01-04 2012-02-29 中国移动通信集团公司 A call-back method and system in busy circumstances
CN102143460B (en) * 2010-02-02 2017-07-14 中兴通讯股份有限公司 The call back on busy service cut-in method and system of identity-based identification

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《IPPBX交换机用户操作手册精要,https://www.docin.com/touch_new/preview_new.do?id=1544082758》;Telpo天波;《豆丁网》;20160422;66-69 *

Also Published As

Publication number Publication date
CN108111700A (en) 2018-06-01

Similar Documents

Publication Publication Date Title
US7283829B2 (en) Management of call requests in multi-modal communication environments
US8345833B1 (en) Methods and systems for telephony call completion
US7881449B2 (en) Enhanced call notification service
US6853718B1 (en) System and method for efficient telephone call transfer
CN101164329B (en) Method for establishing a session between a caller and a callee
CN101926137B (en) Method and system for managing communication sessions set-up between users
CN101217598B (en) A call-back method and system in busy circumstances
EP2582124A1 (en) Call center system and accessing method thereof
CN101455037A (en) Methods, systems, and computer program products for dynamically controlling a pstn network element from an ip network element using signaling
CN108111700B (en) Busy call back method, device and server
US8194837B1 (en) Multimedia call request scheduling
RU2510584C2 (en) Method, apparatus and system for realising override service during emergency call
US7751536B1 (en) Line appearance reservation for SIP endpoints
US20150222753A1 (en) Method for Handling a Call from a Calling Subscriber Towards a Called Subscriber
US20080089504A1 (en) Method for Providing Presence Information in a Telecom Network
CN101771769B (en) Method, device and system for call control
WO2007136490A2 (en) Telecommunications system and method of initiating file transfers from voice endpoints
US20100056120A1 (en) Method and server for filtering telephone calls
CN100558127C (en) Realize method among the NGN with the hooking related supplementary service
CN105592012A (en) SIP communication-based offline callback method and server
CN103152494A (en) Telephone operator call forwarding method and switchboard business application server
CN1968317B (en) Method for implementing call waiting in packet domain
CN100581293C (en) Call control method and exchanging device
CN101753735A (en) Method, system and equipment for performing multimedia service processing on call
US20090252317A1 (en) Method of managing a telecommunications system for adaptive serial ringing and program product therefor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant