Communication method and device based on virtual number, storage medium and program product

By establishing multiple binding relationships between virtual numbers and real numbers, the problem of binding relationship failure in the virtual number transfer scheme in the prior art is solved, flexible calls between real numbers are realized, and virtual number resources are saved.

CN119996573APending Publication Date: 2025-05-13KE COM (BEIJING) TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510238000.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

In the existing virtual number forwarding scheme, when the real number A talks with another real number B1, a new binding relationship needs to be established again, resulting in the original binding relationship being invalid and affecting the business scenario.

Method used

By establishing multiple binding relationships between the virtual number and the real number, such as AXB and AX binding relationships, the virtual number can be used as a two-way call transfer number between the first real number and the second real number, or as a transfer number for forwarding the call request to the first real number.

Benefits of technology

It realizes the call between the real number A and other real number B1 without abolishing the original binding relationship, which reduces the forwarding limit of virtual numbers and saves virtual number resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119996573A_ABST
    Figure CN119996573A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a call method and device based on a virtual number, a storage medium and a program product, and the method comprises the steps: obtaining a calling number and a virtual number in a call request in response to the received call request; determining whether there is a target binding relationship corresponding to the virtual number, the target binding relationship comprising at least one of a first binding relationship and a second binding relationship, the virtual number in the first binding relationship being a transfer number of a bidirectional call between the first real number and the second real number, the virtual number in the second binding relationship is used as a forwarding number for forwarding the call request to the first real number; in response to the existence of the target binding relationship, determining a called number corresponding to the call request based on the target binding relationship and the calling number; and forwarding the call request to the called number to establish the call connection between the calling number and the called number, thereby reducing the forwarding limitation of taking the virtual number as the forwarding number of the real number, and being helpful for saving resources consumed by the virtual number.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of communication technology, and in particular to a call method, device, storage medium and program product based on a virtual number. Background Art

[0002] In call technology, there is a common solution of using virtual numbers as intermediate numbers to transfer calls between two parties. Taking the AXB mode as an example, A and B are the real numbers of the called party, and X is the virtual number of the called party. When the caller A dials the virtual number X, the call center platform queries the real number to be transferred. When the AXB binding relationship is found, the call will be transferred to the called party B number, thus realizing a two-way call between A and B without knowing the real numbers of both parties.

[0003] Under the AXB binding relationship, virtual number X is used for two-way calls between real number A and real number B. If real number A needs to talk to another real number B1, it is necessary to re-establish the AXB1 binding relationship and cancel the original AXB binding relationship. In this case, real number B cannot talk to real number A through virtual number X, which has a serious impact on some business scenarios. Summary of the invention

[0004] The embodiments of the present disclosure provide a call method, device, storage medium and program product based on a virtual number, so as to solve the above technical problems to a certain extent.

[0005] In one aspect of an embodiment of the present disclosure, a call method based on a virtual number is provided, comprising:

[0006] In response to receiving a call request, obtaining a calling number and a virtual number included in the call request;

[0007] Determine whether there is a target binding relationship corresponding to the virtual number, the target binding relationship including at least one of a first binding relationship and a second binding relationship, the virtual number in the first binding relationship is used as a transfer number for a two-way call between the first real number and the second real number, and the virtual number in the second binding relationship is used as a transfer number for transferring a call request to the first real number;

[0008] In response to the existence of the target binding relationship, determining a called number corresponding to the call request based on the target binding relationship and the calling number;

[0009] The call request is forwarded to the called number to establish a call connection between the calling number and the called number.

[0010] In an exemplary embodiment, in response to the existence of the target binding relationship, determining the called number corresponding to the call request based on the target binding relationship and the calling number includes:

[0011] In response to the existence of the first binding relationship, determining the called number based on the first binding relationship and the calling number;

[0012] and / or,

[0013] In response to the existence of the second binding relationship, the called number is determined based on the second binding relationship and the calling number.

[0014] In an exemplary embodiment, determining the called number based on the first binding relationship and the calling number includes:

[0015] In response to the calling number being the first real number, determining that the called number is the second real number;

[0016] In response to the calling number being the second real number, determining that the called number is the first real number;

[0017] In response to the calling number being a third real number, it is determined that the called number is empty, and the third real number is another real number except the first real number and the second real number.

[0018] In an exemplary embodiment, determining the called number based on the second binding relationship and the calling number includes:

[0019] In response to the calling number being a fourth real number, determining that the called number is the first real number, the fourth real number being a real number other than the first real number;

[0020] In response to the calling number being the first real number, determining that the called number is empty.

[0021] In an exemplary embodiment, determining whether there is a target binding relationship corresponding to the virtual number includes:

[0022] Determine whether there is a first binding relationship corresponding to the virtual number;

[0023] In response to the existence of the target binding relationship, determining the called number corresponding to the call request based on the target binding relationship and the calling number includes:

[0024] In response to the existence of the first binding relationship, determining the called number based on the first binding relationship and the calling number;

[0025] In response to determining that the called number is empty based on the first binding relationship, determining whether there is a second binding relationship corresponding to the virtual number, and in response to the existence of the second binding relationship, determining the called number based on the second binding relationship and the calling number;

[0026] The method further comprises:

[0027] In response to the absence of the first binding relationship, determining whether a second binding relationship corresponding to the virtual number exists; in response to the existence of the second binding relationship, determining the called number based on the second binding relationship and the calling number.

[0028] In an exemplary embodiment, determining whether there is a target binding relationship corresponding to the virtual number includes:

[0029] Determine whether there is a second binding relationship corresponding to the virtual number;

[0030] In response to the existence of the target binding relationship, determining the called number corresponding to the call request based on the target binding relationship and the calling number includes:

[0031] In response to the existence of the second binding relationship, determining the called number based on the second binding relationship and the calling number;

[0032] In response to determining that the called number is empty based on the second binding relationship, determining whether there is a first binding relationship corresponding to the virtual number, and in response to the existence of the first binding relationship, determining the called number based on the first binding relationship and the calling number;

[0033] The method further comprises:

[0034] In response to the non-existence of the second binding relationship, determining whether a first binding relationship corresponding to the virtual number exists; in response to the existence of the first binding relationship, determining the called number based on the first binding relationship and the calling number.

[0035] In an exemplary embodiment, the first binding relationship is an AXB binding relationship, the second binding relationship is an AX relationship, the virtual number in the AXB binding relationship allows binding to multiple groups of non-repetitive real numbers, and the virtual number in the AX relationship is uniquely bound to one real number.

[0036] Another aspect of this embodiment provides a call device based on a virtual number, including:

[0037] A number acquisition module, configured to, in response to receiving a call request, acquire a calling number and a virtual number included in the call request;

[0038] a relationship determination module, configured to determine whether there is a target binding relationship corresponding to the virtual number, the target binding relationship comprising at least one of a first binding relationship and a second binding relationship, the virtual number in the first binding relationship being used as a transfer number for a two-way call between the first real number and the second real number, and the virtual number in the second binding relationship being used as a transfer number for transferring a call request to the first real number;

[0039] a called party determination module, configured to determine, in response to the existence of the target binding relationship, a called party number corresponding to the call request based on the target binding relationship and the calling number;

[0040] The call establishing module is used to forward the call request to the called number to establish a call connection between the calling number and the called number.

[0041] Another aspect of this embodiment provides an electronic device, including:

[0042] Memory for storing computer programs;

[0043] The processor is used to execute the computer program stored in the memory, and when the computer program is executed, the calling method based on the virtual number described in any one of the above embodiments is implemented.

[0044] Another aspect of this embodiment provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the calling method based on a virtual number described in any of the above embodiments is implemented.

[0045] Another aspect of this embodiment provides a computer program product, including a computer program, which, when executed by a processor, implements the calling method based on a virtual number described in any of the above embodiments.

[0046] In the embodiment of the present disclosure, in response to a call request, the calling number and virtual number included in the call request can be obtained, the target binding relationship between the virtual number and the real number can be determined, and the called number corresponding to the call request can be determined based on the target binding relationship and the calling number, the call request is forwarded to the called number, and a call connection between the calling number and the called number is established to realize the call between the calling number and the called number, wherein the target binding relationship between the virtual number and the real number includes at least one of the first binding relationship and the second binding relationship, the virtual number can be used as a transfer number for two-way calls between the first real number and the second real number, and can also be used as a transfer number for transferring the call request to the first real number, the first real number and the second real number can realize two-way calls based on the virtual number, and any real number can also call the first real number through the virtual number, which can reduce the transfer restrictions of the virtual number as a transfer number for the real number, and help save virtual number consumption resources.

[0047] The technical solution of the present disclosure is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] The accompanying drawings, which constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0049] The present disclosure may be more clearly understood from the following detailed description with reference to the accompanying drawings, in which:

[0050] Figure 1 A flowchart of a calling method based on a virtual number provided by an exemplary embodiment of the present disclosure;

[0051] Figure 2 A schematic diagram of a process for determining a called number provided by an exemplary embodiment of the present disclosure;

[0052] Figure 3 A flowchart of a calling method based on a virtual number provided by another exemplary embodiment of the present disclosure;

[0053] Figure 4 A flowchart of a process for determining a called number provided by another exemplary embodiment of the present disclosure;

[0054] Figure 5 A flowchart of a calling method based on a virtual number provided by another exemplary embodiment of the present disclosure;

[0055] Figure 6 A schematic diagram of the structure of a virtual number-based calling device provided by an exemplary embodiment of the present disclosure;

[0056] Figure 7A schematic structural diagram of an electronic device provided by an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION

[0057] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that the relative arrangement of components and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present disclosure unless otherwise specifically stated.

[0058] Those skilled in the art can understand that the terms "first" and "second" in the embodiments of the present disclosure are only used to distinguish different steps, devices or modules, etc., and neither represent any specific technical meaning nor indicate the necessary logical order between them.

[0059] It should also be understood that in the embodiments of the present disclosure, “plurality” may refer to two or more than two, and “at least one” may refer to one, two, or more than two.

[0060] It should also be understood that any component, data or structure mentioned in the embodiments of the present disclosure can generally be understood as one or more, unless explicitly limited or otherwise indicated in the context.

[0061] In addition, the term "and / or" in the present disclosure is only a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in the present disclosure generally indicates that the associated objects before and after are in an "or" relationship.

[0062] It should also be understood that the description of the various embodiments in the present disclosure focuses on the differences between the various embodiments, and the same or similar aspects thereof can be referenced to each other, and for the sake of brevity, they will not be described one by one.

[0063] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.

[0064] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.

[0065] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered as part of the specification.

[0066] It should be noted that like reference numerals and letters refer to similar items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0067] The disclosed embodiments can be applied to electronic devices such as terminal devices, computer systems, servers, etc., which can operate with many other general or special computing system environments or configurations. Examples of well-known terminal devices, computing systems, environments and / or configurations suitable for use with electronic devices such as terminal devices, computer systems, servers, etc. include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, microprocessor-based systems, set-top boxes, programmable consumer electronics, network personal computers, small computer systems, large computer systems, and distributed cloud computing technology environments including any of the above systems, etc.

[0068] Electronic devices such as terminal devices, computer systems, servers, etc. can be described in the general context of computer system executable instructions (such as program modules) executed by computer systems. Generally, program modules can include routines, programs, object programs, components, logic, data structures, etc., which perform specific tasks or implement specific abstract data types. Computer systems / servers can be implemented in a distributed cloud computing environment, where tasks are performed by remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules can be located on local or remote computing system storage media including storage devices.

[0069] In the related art, in the AXB mode, the virtual number X can be used to realize a two-way conversation between A and B without knowing the real numbers of both parties. However, if the caller A needs to call another real number B1, another virtual number needs to be used. If the virtual number X needs to be continued, a new binding relationship of AXB1 needs to be created and the binding relationship of AXB needs to be abolished. In this case, B cannot call back A by dialing X, which will affect some business scenarios.

[0070] In the disclosed embodiment, in order to save virtual number resources, different binding relationships can be established between a virtual number and the same real number. The real number can realize two-way conversation with other real numbers through the virtual number, and other different real numbers can also call the real number through the virtual number, thereby saving virtual number resources.

[0071] Figure 1 1 is a flowchart of a call method based on a virtual number provided by an exemplary embodiment of the present disclosure. The method provided by the embodiment of the present disclosure can be used in an electronic device. In one example, a call platform is running in the electronic device, and the call platform is used to establish a call. Figure 1 As shown, it includes the following steps:

[0072] Step 101: in response to receiving a call request, obtaining a calling number and a virtual number included in the call request.

[0073] When a call request is received, the calling number and virtual number included in the call request may be obtained, and optionally, the calling number may be a real number. After obtaining the calling number and virtual number, the number bound to the virtual number may be obtained, and the called number may be determined based on the relationship between the calling number and the bound number.

[0074] Step 102: Determine whether there is a target binding relationship corresponding to the virtual number.

[0075] The target binding relationship includes at least one of a first binding relationship and a second binding relationship, in which the virtual number in the first binding relationship serves as a transfer number for two-way calls between the first real number and the second real number, and in which the virtual number in the second binding relationship serves as a transfer number for transferring call requests to the first real number.

[0076] The call center platform stores the binding relationships between different virtual numbers and different real numbers. After obtaining the virtual number included in the call request, the call center platform can query whether the virtual number included in the call request has a target binding relationship. The target binding relationship corresponding to the virtual number indicates the number to which the virtual number has been bound, as well as the call relationship between the virtual number and the bound number, such as the virtual number can be used to call the bound number, or a bound number can call other bound numbers through the virtual number.

[0077] In the disclosed embodiment, the target binding relationship corresponding to the virtual number includes at least one of the first binding relationship and the second binding relationship, and the virtual number has different binding relationships with the same real number (such as the first real number) as the calling party and the called party. In the first binding relationship, the virtual number can be used as a transfer number for the first real number and the second real number to call both parties respectively (the bound first real number can be used as the calling party), and can also be used as a transfer number for other virtual numbers to call the first real number (the bound first real number can be used as the called party).

[0078] In a possible implementation, the first binding relationship and the second binding relationship are different types of binding relationships, which can be stored in different relationship lists respectively. When determining whether there is a target binding relationship corresponding to the virtual number, the target binding relationship corresponding to the virtual number can be queried in different relationship lists used to store binding relationships.

[0079] Step 103: In response to the existence of the target binding relationship, a called number corresponding to the call request is determined based on the target binding relationship and the calling number.

[0080] After obtaining the target binding relationship, you can obtain the real number bound to the virtual number in the target binding relationship to determine whether the calling number is the same as the bound real number. If the calling number is the same as the bound real number, you can determine whether the called number is another bound real number based on the target binding relationship.

[0081] In the case that the calling number is different from the bound real number, it can be determined whether the called number is the bound real number based on the target binding relationship.

[0082] Step 104: forward the call request to the called number to establish a call connection between the calling number and the called number.

[0083] After determining the called number, the call request is forwarded to the called number, thereby establishing a call connection between the calling number and the called number, realizing a call between real numbers.

[0084] In the embodiment of the present disclosure, in response to a call request, the calling number and virtual number included in the call request can be obtained, the target binding relationship between the virtual number and the real number can be determined, and the called number corresponding to the call request can be determined based on the target binding relationship and the calling number, the call request is forwarded to the called number, and a call connection between the calling number and the called number is established to realize the call between the calling number and the called number, wherein the target binding relationship between the virtual number and the real number includes at least one of the first binding relationship and the second binding relationship, the virtual number can be used as a transfer number for two-way calls between the first real number and the second real number, and can also be used as a transfer number for transferring the call request to the first real number, the first real number and the second real number can realize two-way calls based on the virtual number, and any real number can also call the first real number through the virtual number, which can reduce the transfer restrictions of the virtual number as a transfer number for the real number, and help save virtual number consumption resources.

[0085] In a possible implementation, the target binding relationship includes a first binding relationship and a second binding relationship.

[0086] In the first binding relationship, the virtual number is bound to the first real number and the second real number, and the first real number and the second real number serve as the calling party and the called party respectively, that is, the first real number and the second real number can realize two-way calls based on the virtual number. When the first real number is the calling number, the called number can be determined to be the second real number. When the second real number is the calling number, the called number can be determined to be the first real number.

[0087] Optionally, the first binding relationship is an AXB binding relationship, and the virtual number X is bound to the first real number A and the second real number B respectively. The virtual number X is used as a transfer number for two-way calls between the first real number A and the second real number B to realize two-way calls between the first real number A and the second real number B. The first real number A can call the second real number B based on the virtual number X, and the second real number B can call the first real number A based on the virtual number A. In the AXB binding relationship, the virtual number allows binding to multiple groups of non-repeating real numbers. Non-repeating real numbers refer to that any two of the multiple bound real numbers are not repeated. For example, the virtual number X1 can be bound to a group of real numbers A1 and B1 respectively, and can also be bound to another group of real numbers A2 and B2. A1, B1, A2, and B2 are not repeated. If a binding relationship between the real number A1 and the real number B3 needs to be established, other virtual numbers other than X1 need to be used, and the same virtual number X1 cannot be used.

[0088] In the second binding relationship, the virtual number is bound to the first real number as the called party, that is, the virtual number is used as a forwarding number to forward the call request to the first real number. All other real numbers except the first real number can call the first real number through the virtual number. Optionally, the second binding relationship is an AX binding relationship, and the virtual number X is bound to the real number A as the called party, and any other real number can call the real number A through the virtual number X. In the AX binding relationship, the virtual number is uniquely bound to one real number, that is, one virtual number is used to uniquely forward to one real number. For example, after the virtual number X3 is bound to the only real number A3, it cannot be bound to other real numbers.

[0089] In a possible implementation, when determining whether a target binding relationship exists, at least one of the first binding relationship and the second binding relationship may be queried. In response to the existence of the first binding relationship, the called number is determined based on the first binding relationship and the calling number; and / or, in response to the existence of the second binding relationship, the called number is determined based on the second binding relationship and the calling number.

[0090] In a possible implementation, when determining the called number based on the first binding relationship and the calling number, the called number may be determined based on the first binding relationship, the relationship between the calling number and the first real number and the second real number, which may include the following situations 1 to 3:

[0091] 1. In response to the calling number being the first real number, determining that the called number is the second real number.

[0092] In the first binding relationship, the virtual number is bound to the first real number and the second real number respectively, and when one of the first real number and the second real number is the calling party, the other is the called party.

[0093] When the calling number is determined to be the first real number, based on the first binding relationship, the called number may be determined to be the second real number.

[0094] 2. In response to the calling number being the second real number, determining that the called number is the first real number.

[0095] When it is determined that the calling number is the second real number, based on the first binding relationship, it can be determined that the called number is the first real number.

[0096] 3. In response to the calling number being the third real number, determining that the called number is empty.

[0097] The third real number is a real number other than the first real number and the second real number. When the calling number is the third real number, the called number is determined to be empty based on the first binding relationship.

[0098] In a possible implementation, when it is determined based on the first binding relationship that the called number is empty, if it is determined that the second binding relationship exists, the called number may be further determined in combination with the second binding relationship.

[0099] In a possible implementation, the called number is determined based on the second binding relationship and the calling number. The called number may be determined based on the relationship between the second binding relationship, the calling number and the first real number, which may include the following situations 1 to 2:

[0100] 1. In response to the calling number being a fourth real number, determining that the called number is the first real number, the fourth real number is a real number other than the first real number.

[0101] The virtual number in the second binding relationship is used as a transfer number for transferring the call request to the first real number, and any other calling real number can transfer the call request to the first real number by calling the virtual number. When it is determined that the calling number is a real number other than the first real number, that is, different from the first real number, based on the second binding relationship, the called number is determined to be the first real number.

[0102] 2. In response to the calling number being the first real number, determining that the called number is empty.

[0103] If the calling number is the first real number, based on the second binding relationship, it is determined that the called number is empty.

[0104] In a possible implementation, when it is determined based on the second binding relationship that the called number is empty, if the first binding relationship exists, the called number may be further determined in combination with the first binding relationship.

[0105] After determining whether there is a target binding relationship between the virtual number and the real number, if the first binding relationship is obtained, the called number can be determined based on the first binding relationship, the relationship between the calling number and the first real number, and the second real number. If the second binding relationship is obtained, the called number can be determined based on the second binding relationship, the relationship between the calling number and the first real number. If the first binding relationship and the second binding relationship are obtained, the called number can be determined based on the first binding relationship, the second binding relationship, the relationship between the calling number and the first real number, and the second real number.

[0106] In a possible implementation, the first binding relationship and the second binding relationship are stored in different relationship lists, and the target binding relationship of the virtual number needs to be queried from different relationship lists respectively. Optionally, the first binding relationship corresponding to the virtual number can be queried in the first list storing the first binding relationship, and the called number can be determined based on the first binding relationship. If the first binding relationship is not found, or the called number is determined to be empty based on the first binding relationship, the second binding relationship can be queried from the second list for storing the second binding relationship, and the called number can be determined based on the second binding relationship. Figure 2 As shown, the process may include steps 201-204:

[0107] Step 201, determining whether there is a first binding relationship corresponding to the virtual number.

[0108] In response to a call request from a calling number to a virtual number, a first binding relationship corresponding to the virtual number is queried from a first list to determine whether the virtual number is bound to a first real number and a second real number.

[0109] Step 202: In response to the existence of the first binding relationship, determine the called number based on the first binding relationship and the calling number.

[0110] When the first binding relationship is obtained, the called number can be determined based on the first binding relationship and the relationship between the calling number and the first real number and the second real number. When the calling number is the first real number, the called number is determined to be the second real number, and when the calling number is the first real number, the called number is determined to be the first real number.

[0111] Step 203, in response to determining that the called number is empty based on the first binding relationship, determining whether there is a second binding relationship corresponding to the virtual number, and in response to the existence of the second binding relationship, determining the called number based on the second binding relationship and the calling number.

[0112] When it is determined that the called number is empty based on the first binding relationship and the calling number (that is, the calling number is a third real number), the second binding relationship corresponding to the virtual number can be obtained from the second list. If the second binding relationship is obtained, the called number is determined based on the second binding relationship and the relationship between the calling number and the first real number. If it is determined that the called number is empty, the call is ended.

[0113] Step 204: in response to the absence of the first binding relationship, determining whether there is a second binding relationship corresponding to the virtual number; in response to the presence of the second binding relationship, determining the called number based on the second binding relationship and the calling number.

[0114] In one possible case, if the first binding relationship corresponding to the virtual number is not obtained from the first list and it is determined that the first binding relationship does not exist, the second binding relationship corresponding to the virtual number is queried from the second list. If the second binding relationship is obtained, the called number is determined based on the second binding relationship and the relationship between the calling number and the first real number. If it is determined that the called number is empty, the call is ended.

[0115] In an exemplary embodiment, Figure 3 As shown, the calling method based on the virtual number includes the following steps 301-309:

[0116] Step 301: In response to a call request, obtain a calling number and a virtual number.

[0117] Step 302 , check whether there is an AXB binding relationship corresponding to the virtual number, if yes, execute step 303 , if no, execute step 307 .

[0118] Optionally, after receiving a call request for a virtual number, it is first checked in the first list whether there is an AXB binding relationship (first binding relationship) for the virtual number.

[0119] Step 303, determine whether the calling number is the real number A, if so, execute step 304, if not, execute step 305.

[0120] When it is determined that the calling number is the real number A, the called number can be determined to be the real number B. When it is determined that the calling number is not the real number A, it is further determined whether the calling number is the virtual number B.

[0121] Step 304: forward the call request to the real number B.

[0122] Step 305, determine whether the calling number is the real number B, if so, execute step 306, if not, execute step 307.

[0123] When the calling number is determined to be the real number B, the called number can be determined to be the real number A. When the calling number is determined not to be the real number B, it is further queried whether there is an AX binding relationship between the virtual number and the called number is determined based on the AX binding relationship between the virtual number.

[0124] Step 306: forward the call request to the real number A.

[0125] Step 307 , check whether there is an AX binding relationship corresponding to the virtual number, if yes, execute step 308 , if no, execute step 309 .

[0126] Optionally, it is possible to query in the second list whether there is an AX binding relationship (second binding relationship) for the virtual number.

[0127] Step 308, determine whether the calling number is the real number A, if so, execute step 309, if not, execute step 306.

[0128] Step 309, reject the transfer.

[0129] Based on the AX binding relationship, when it is determined that the calling number is not the real number A, the called number can be determined to be the real number A. If the calling number is the real number A, the transfer is rejected and the call is ended.

[0130] In another possible implementation, the second binding relationship corresponding to the virtual number can be queried in the second list storing the second binding relationship, and the called number can be determined based on the second binding relationship. If the second binding relationship is not found, or the called number is determined to be empty based on the second binding relationship, the first binding relationship can be queried from the first list for storing the first binding relationship, and the called number can be determined based on the first binding relationship. Figure 4 As shown, the process may include steps 401-404:

[0131] Step 401, determining whether there is a second bound number corresponding to the virtual number.

[0132] In response to a call request from the calling number to the virtual number, a second binding relationship corresponding to the virtual number is queried from the second list to determine whether the virtual number is used as a transfer number for transferring the call request to the first real number.

[0133] Step 402: In response to the existence of the second binding relationship, determine the called number based on the second binding relationship and the calling number.

[0134] When the second binding relationship is obtained, the called number can be determined based on the second binding relationship and the relationship between the calling number and the first real number. When the calling number is a fourth real number that is not the first real number, the called number is determined to be the first real number.

[0135] Step 403, in response to determining that the called number is empty based on the second binding relationship, determine whether there is a first binding relationship corresponding to the virtual number, and in response to the existence of the first binding relationship, determine the called number based on the first binding relationship and the calling number.

[0136] When it is determined that the called number is empty (i.e., the calling number is the first real number) based on the second binding relationship and the relationship between the calling number and the first real number, the first binding relationship corresponding to the virtual number can be obtained from the first list. If the first binding relationship is obtained, the called number is determined based on the first binding relationship and the relationship between the calling number and the first real number and the second real number. If it is determined that the called number is empty, the call is ended.

[0137] Step 404: in response to the absence of the second binding relationship, determine whether there is a first binding relationship corresponding to the virtual number; in response to the presence of the first binding relationship, determine the called number based on the first binding relationship and the calling number.

[0138] In one possible case, if the second binding relationship corresponding to the virtual number is not obtained from the second list, the first binding relationship corresponding to the virtual number is continued to be queried from the first list. If the first binding relationship is obtained, the called number is determined based on the first binding relationship and the relationship between the calling number and the first real number and the second real number. If it is determined that the called number is empty, the call is ended.

[0139] In an exemplary embodiment, Figure 5 As shown, the calling method based on the virtual number includes the following steps 501-509:

[0140] Step 501: In response to a call request, obtain a calling number and a virtual number.

[0141] Step 502 , check whether there is an AX binding relationship corresponding to the virtual number, if yes, execute step 503 , if no, execute step 505 .

[0142] Optionally, when a call request for a virtual number is received, it may be queried in the second list whether there is an AX binding relationship (second binding relationship) for the virtual number.

[0143] Step 503, determine whether the calling number is the real number A, if so, execute step 505, if not, execute step 504.

[0144] Based on the AX binding relationship, when it is determined that the calling number is not the real number A, the called number can be determined to be the real number A. If the calling number is the real number A, the AXB binding relationship of the virtual number can be further queried, and the called number can be determined based on the AXB binding relationship corresponding to the virtual number.

[0145] Step 504: forward the call request to the real number A.

[0146] Step 505 , check whether there is an AXB binding relationship corresponding to the virtual number, if yes, execute step 506 , if no, execute step 509 .

[0147] Optionally, the AXB binding relationship of the virtual number may be queried from the first list.

[0148] Step 506, determine whether the calling number is the real number A, if so, execute step 507, if not, execute step 508.

[0149] When it is determined that the calling number is the real number A, the called number can be determined to be the real number B. When it is determined that the calling number is not the real number A, it is further determined whether the calling number is the virtual number B.

[0150] Step 507: forward the call request to the real number B.

[0151] Step 508, determine whether the calling number is the real number B, if so, execute step 504, if not, execute step 509.

[0152] When the calling number is determined to be the real number B, the called number can be determined to be the real number A. If the calling number is not the real number B, it can be determined that the calling number is not the real number A and B bound in the AXB binding relationship, and the transfer is rejected.

[0153] Step 509, reject the transfer.

[0154] In the disclosed embodiment, the same virtual number is respectively established with an AXB binding relationship and an AX binding relationship, so that the first real number A can call the second real number B based on the virtual number X, and other real numbers can also call the first real number A through the virtual number X. When it is necessary to re-establish the binding relationship between the first real number A and the third real number B1 different from the second real number B, the virtual number X can continue to be used, that is, the AXB1 binding relationship is established, and because the AX binding relationship is established, the originally bound second real number B can still call back the first real number A through the virtual number X. The virtual number X can be used as a transfer number for two-way calls between the first real number and the second real number, and can also be used as a transfer number for any other real number to call the first real number. In this way, the transfer restrictions of the virtual number X as a transfer number can be reduced, which helps to save virtual number usage resources.

[0155] Figure 6: is a schematic diagram of a structure of a call device based on a virtual number provided by an exemplary embodiment of the present disclosure. The device can be used for the electronic device involved in the above embodiment. The device includes:

[0156] The number acquisition module 601 is used for acquiring the calling number and the virtual number included in the call request in response to receiving the call request;

[0157] a relationship determination module 602, configured to determine whether there is a target binding relationship corresponding to the virtual number, the target binding relationship comprising at least one of a first binding relationship and a second binding relationship, the virtual number in the first binding relationship being used as a transfer number for a two-way call between the first real number and the second real number, and the virtual number in the second binding relationship being used as a transfer number for transferring a call request to the first real number;

[0158] A called party determination module 603, configured to determine, in response to the existence of the target binding relationship, a called party number corresponding to the call request based on the target binding relationship and the calling number;

[0159] The call establishing module 604 is used to forward the call request to the called number to establish a call connection between the calling number and the called number.

[0160] In an exemplary embodiment, the called party determination module 603 is further configured to:

[0161] In response to the existence of the first binding relationship, determining the called number based on the first binding relationship and the calling number;

[0162] and / or,

[0163] In response to the existence of the second binding relationship, the called number is determined based on the second binding relationship and the calling number.

[0164] In an exemplary embodiment, the called party determination module 603 is further configured to:

[0165] In response to the calling number being the first real number, determining that the called number is the second real number;

[0166] In response to the calling number being the second real number, determining that the called number is the first real number;

[0167] In response to the calling number being a third real number, it is determined that the called number is empty, and the third real number is another real number except the first real number and the second real number.

[0168] In an exemplary embodiment, the called party determination module 603 is further configured to:

[0169] In response to the calling number being a fourth real number, determining that the called number is the first real number, the fourth real number being a real number other than the first real number;

[0170] In response to the calling number being the first real number, determining that the called number is empty.

[0171] In an exemplary embodiment, the relationship determination module 602 is further configured to:

[0172] Determine whether there is a first binding relationship corresponding to the virtual number;

[0173] The called party determination module 603 is further configured to:

[0174] In response to the existence of the first binding relationship, determining the called number based on the first binding relationship and the calling number;

[0175] In response to determining that the called number is empty based on the first binding relationship, determining whether there is a second binding relationship corresponding to the virtual number, and in response to the existence of the second binding relationship, determining the called number based on the second binding relationship and the calling number;

[0176] In response to the absence of the first binding relationship, determining whether a second binding relationship corresponding to the virtual number exists; in response to the existence of the second binding relationship, determining the called number based on the second binding relationship and the calling number.

[0177] In an exemplary embodiment, the relationship determination module 602 is further configured to:

[0178] Determine whether there is a second binding relationship corresponding to the virtual number;

[0179] The called party determination module 602 is further configured to:

[0180] In response to the existence of the second binding relationship, determining the called number based on the second binding relationship and the calling number;

[0181] In response to the determination that the called number is empty based on the second binding relationship, determine whether there is a first binding relationship corresponding to the virtual number; in response to the existence of the first binding relationship, determine the called number based on the first binding relationship and the calling number; in response to the absence of the second binding relationship, determine whether there is a first binding relationship corresponding to the virtual number; in response to the existence of the first binding relationship, determine the called number based on the first binding relationship and the calling number.

[0182] In an exemplary embodiment, the first binding relationship is an AXB binding relationship, the second binding relationship is an AX relationship, the virtual number in the AXB binding relationship allows binding to multiple groups of non-repetitive real numbers, and the virtual number in the AX relationship is uniquely bound to one real number.

[0183] The communication device based on virtual numbers in the embodiments of the present disclosure corresponds to the embodiments of the communication method based on virtual numbers in the present disclosure, and the relevant contents can be referred to each other, which will not be repeated here. The beneficial technical effects corresponding to the communication device based on virtual numbers in the embodiments of the present disclosure can be referred to the corresponding beneficial technical effects of the corresponding exemplary method part, which will not be repeated here.

[0184] In addition, an embodiment of the present disclosure further provides an electronic device, including:

[0185] Memory for storing computer programs;

[0186] The processor is used to execute the computer program stored in the memory, and when the computer program is executed, the calling method based on the virtual number described in any of the above embodiments of the present disclosure is implemented.

[0187] Figure 7 This is a schematic diagram of the structure of an application embodiment of the electronic device disclosed in the present invention. Figure 7 The electronic device according to the embodiment of the present disclosure is described. The electronic device may be any one or both of the first device and the second device, or a stand-alone device independent of them, and the stand-alone device may communicate with the first device and the second device to receive the collected input signals from them.

[0188] like Figure 7 As shown, the electronic device includes one or more processors and memory.

[0189] The processor may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device to perform desired functions.

[0190] The memory may include one or more computer program products, and the computer program product may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, a random access memory (RAM) and / or a cache memory (cache), etc. The non-volatile memory may include, for example, a read-only memory (ROM), a hard disk, a flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor may execute the program instructions to implement the virtual number-based call method and / or other desired functions of the various embodiments of the present disclosure described above.

[0191] In one example, the electronic device may further include: an input device and an output device, and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).

[0192] In addition, the input device may also include, for example, a keyboard, a mouse, and the like.

[0193] The output device can output various information to the outside, including the determined distance information, direction information, etc. The output device can include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto, and the like.

[0194] Of course, to simplify, Figure 7 Only some of the components related to the present disclosure in the electronic device are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, according to specific application situations, the electronic device may further include any other appropriate components.

[0195] In addition to the above-mentioned methods and devices, an embodiment of the present disclosure may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the virtual number-based calling method according to various embodiments of the present disclosure described in the above part of this specification.

[0196] The computer program product may be written in any combination of one or more programming languages ​​to write program code for performing the operations of the disclosed embodiments, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0197] In addition, an embodiment of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, enable the processor to execute the steps of the virtual number-based calling method according to various embodiments of the present disclosure described in the above part of this specification.

[0198] The computer readable storage medium can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can include, for example, but is not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0199] A person of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiment; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk, etc., various media that can store program codes.

[0200] The basic principles of the present disclosure are described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, effects, etc. mentioned in the present disclosure are only examples and not limitations, and it cannot be considered that these advantages, strengths, effects, etc. are required by each embodiment of the present disclosure. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, and are not limitations. The above details do not limit the present disclosure to the necessity of adopting the above specific details to be implemented.

[0201] Each embodiment in this specification is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the system embodiment, since it basically corresponds to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0202] The block diagrams of the devices, apparatuses, equipment, and systems involved in this disclosure are only illustrative examples and are not intended to require or imply that they must be connected, arranged, and configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, apparatuses, equipment, and systems can be connected, arranged, and configured in any manner. Words such as "including," "comprising," "having," and the like are open words, referring to "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or," and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.

[0203] The method and apparatus of the present disclosure may be implemented in many ways. For example, the method and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above, unless otherwise specifically stated. In addition, in some embodiments, the present disclosure may also be implemented as a program recorded in a recording medium, which includes machine-readable instructions for implementing the method according to the present disclosure. Therefore, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.

[0204] It should also be noted that in the apparatus, device and method of the present disclosure, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present disclosure.

[0205] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

[0206] The above description has been given for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Although multiple example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, changes, additions and sub-combinations thereof.

Claims

1. A calling method based on a virtual number, characterized in that: The method comprises: In response to receiving a call request, obtaining a calling number and a virtual number included in the call request; Determine whether there is a target binding relationship corresponding to the virtual number, the target binding relationship including at least one of a first binding relationship and a second binding relationship, the virtual number in the first binding relationship is used as a transfer number for a two-way call between the first real number and the second real number, and the virtual number in the second binding relationship is used as a transfer number for transferring a call request to the first real number; In response to the existence of the target binding relationship, determining a called number corresponding to the call request based on the target binding relationship and the calling number; The call request is forwarded to the called number to establish a call connection between the calling number and the called number.

2. The method according to claim 1, characterized in that In response to the existence of the target binding relationship, determining the called number corresponding to the call request based on the target binding relationship and the calling number includes: In response to the existence of the first binding relationship, determining the called number based on the first binding relationship and the calling number; and / or, In response to the existence of the second binding relationship, the called number is determined based on the second binding relationship and the calling number.

3. The method according to claim 2, characterized in that The determining the called number based on the first binding relationship and the calling number includes: In response to the calling number being the first real number, determining that the called number is the second real number; In response to the calling number being the second real number, determining that the called number is the first real number; In response to the calling number being a third real number, it is determined that the called number is empty, and the third real number is another real number except the first real number and the second real number.

4. The method according to claim 2, characterized in that: The determining the called number based on the second binding relationship and the calling number includes: In response to the calling number being a fourth real number, determining that the called number is the first real number, the fourth real number being a real number other than the first real number; In response to the calling number being the first real number, determining that the called number is empty.

5. The method according to any one of claims 1 to 4, characterized in that: The determining whether there is a target binding relationship corresponding to the virtual number includes: Determine whether there is a first binding relationship corresponding to the virtual number; In response to the existence of the target binding relationship, determining the called number corresponding to the call request based on the target binding relationship and the calling number includes: In response to the existence of the first binding relationship, determining the called number based on the first binding relationship and the calling number; In response to determining that the called number is empty based on the first binding relationship, determining whether there is a second binding relationship corresponding to the virtual number, and in response to the existence of the second binding relationship, determining the called number based on the second binding relationship and the calling number; The method further comprises: In response to the absence of the first binding relationship, determining whether a second binding relationship corresponding to the virtual number exists; in response to the existence of the second binding relationship, determining the called number based on the second binding relationship and the calling number.

6. The method according to any one of claims 1 to 4, characterized in that: The determining whether there is a target binding relationship corresponding to the virtual number includes: Determine whether there is a second binding relationship corresponding to the virtual number; In response to the existence of the target binding relationship, determining the called number corresponding to the call request based on the target binding relationship and the calling number includes: In response to the existence of the second binding relationship, determining the called number based on the second binding relationship and the calling number; In response to determining that the called number is empty based on the second binding relationship, determining whether there is a first binding relationship corresponding to the virtual number, and in response to the existence of the first binding relationship, determining the called number based on the first binding relationship and the calling number; The method further comprises: In response to the non-existence of the second binding relationship, determining whether a first binding relationship corresponding to the virtual number exists; in response to the existence of the first binding relationship, determining the called number based on the first binding relationship and the calling number.

7. The method according to any one of claims 1 to 4, characterized in that: The first binding relationship is an AXB binding relationship, and the second binding relationship is an AX relationship. In the AXB binding relationship, the virtual number is allowed to be bound to multiple groups of non-repeating real numbers, and in the AX relationship, the virtual number is uniquely bound to one real number.

8. An electronic device, characterized in that: include: Memory for storing computer programs; The processor is used to execute the computer program stored in the memory, and when the computer program is executed, the calling method based on the virtual number described in any one of claims 1 to 7 is implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the calling method based on a virtual number described in any one of claims 1 to 7 is implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the calling method based on a virtual number described in any one of claims 1 to 7 is implemented.